INTEGRITY Документация

Отправляйте 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 Тайм-аут резолвера при ожидании ответа на запрос.