← 1.1.1.1 (DNS-резолвер) / 1.1.1.1 / encryption / dns-over-https
Отправляйте API-запросы к 1.1.1.1
Cloudflare предоставляет резолвер DNS через HTTPS по адресу:
https://cloudflare-dns.com/dns-queryМетод HTTP
Конечная точка Cloudflare DNS через HTTPS (DoH) поддерживает POST и GET для DNS wireformat и GET для формата JSON.
При выполнении запросов с использованием POST, DNS-запрос включается в тело сообщения HTTP-запроса, а тип MIME (application/dns-message) отправляется в Content-Type заголовок запроса. Cloudflare использует тело HTTP-запроса именно в том виде, в котором его отправил клиент, поэтому тело сообщения не должно быть закодировано.
При выполнении запросов с использованием GET, DNS-запрос кодируется в URL.
Допустимые MIME-типы
Если вы используете формат JSON, установите application/dns-json, а если вы используете DNS wireformat, используйте application/dns-message.
См. двоичный формат DNS и JSON с примерами для cURL.
Отправка нескольких вопросов в одном запросе
Каждый DNS-запрос соответствует ровно одному HTTP-запросу. Чтобы отправлять несколько запросов одновременно, используйте HTTP/2 или HTTP/3: эти протоколы поддерживают мультиплексирование нескольких запросов в одном соединении.
Для использования с DoH рекомендуется как минимум HTTP/2. Это не особенность именно 1.1.1.1, а то, как работает DoH согласно RFC 8484 ↗.
Пример запроса:
curl --http2 --header "accept: application/dns-json" "https://one.one.one.one/dns-query?name=cloudflare.com" --next --http2 --header "accept: application/dns-json" "https://one.one.one.one/dns-query?name=example.com"Аутентификация
Для отправки запросов к этому API аутентификация не требуется.
Поддерживаемые версии TLS
Резолвер Cloudflare DNS через HTTPS поддерживает TLS 1.2 и TLS 1.3.
Коды возврата
| HTTP-статус | Значение |
|---|---|
400 |
DNS-запрос не указан или слишком мал. |
413 |
DNS-запрос превышает максимально допустимый размер DNS-сообщения. |
415 |
Неподдерживаемый тип содержимого. |
504 |
Тайм-аут резолвера при ожидании ответа на запрос. |