Запрос к JSON API Google Public DNS через HTTP-прокси
Получайте записи DNS через HTTPS-запрос прокси, сохраняя API резолвера отдельно от собственного поиска имени хоста прокси.
HTTP-прокси может передать запрос службе DNS-over-HTTPS. Для JSON-интерфейса Google Public DNS явный запрос может выглядеть так:
curl --fail --proxy http://proxy.example.net:8080 --noproxy "" \
--get --data-urlencode "name=example.net" \
--data-urlencode "type=A" \
https://dns.google/resolve
Прокси передаёт HTTPS-соединение к dns.google. Список HTTP-прокси — одно из мест, где можно выбрать кандидата для этого публичного запроса, когда доступ через публичные прокси разрешён. Резолвер Google отвечает на параметр name. Это не запрос прокси вернуть собственный кэш DNS и не изменение конфигурации DNS, используемой другими приложениями.
Читайте Status в JSON и возвращённые записи, а не только HTTP-статус. Успешно доставленный HTTP-ответ может описывать сбой DNS. Измените type на нужную запись, например AAAA или MX; один запрос A — не полный перечень всех типов записей.
Формат JSON этой конечной точки — документированный API Google. Стандартные клиенты DoH в проводном формате используют вместо него сообщения DNS и application/dns-message. Обычный вызов nslookup не получает ни один из этих двух HTTP-интерфейсов только потому, что задан HTTPS_PROXY.