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

Использование JSON

Конечная точка Cloudflare DNS через HTTPS также поддерживает формат JSON для запросов DNS-данных. Поскольку в Internet Engineering Task Force (IETF) нет согласованной JSON-схемы для DNS через HTTPS, Cloudflare решила использовать ту же схему, что и резолвер DNS через HTTPS от Google.

Запросы в формате JSON отправляются с помощью GET-запрос. При отправке запросов с помощью GET, DNS-запрос кодируется в URL. Добавьте заголовок HTTP Accept заголовок запроса с MIME-типом application/dns-json, указывая, что клиент может принять ответ в формате JSON.

Поддерживаемые параметры

Поле Обязательно? Описание По умолчанию
name Да Имя запроса. -
type Нет Тип запроса (либо числовое значение или текст ↗). A
do Нет DO бит, указывающий, хочет ли клиент получить данные DNSSEC (пусто или одно из 0, false, 1, или true). false
cd Нет CD бит, отключающий проверку (пусто или одно из 0, false, 1, или true). false

Примеры

Пример запроса и ответа:

curl --header "accept: application/dns-json" "https://cloudflare-dns.com/dns-query?name=example.com&type=AAAA"
{
	"Status": 0,
	"TC": false,
	"RD": true,
	"RA": true,
	"AD": true,
	"CD": false,
	"Question": [
		{
			"name": "example.com.",
			"type": 28
		}
	],
	"Answer": [
		{
			"name": "example.com.",
			"type": 28,
			"TTL": 1726,
			"data": "2606:2800:220:1:248:1893:25c8:1946"
		}
	]
}

В случае недействительного запроса возвращается 400 Bad Request возвращается ошибка:

curl --header "accept: application/dns-json" "https://cloudflare-dns.com/dns-query?name=example.com&cd=2"
{
	"error": "Invalid CD flag `2`. Expected to be empty or one of `0`, `false`, `1`, or `true`."
}

Поля ответа

В приведённых ниже таблицах можно найти подробности о каждом поле ответа.

Успешный ответ

Поле Описание
Status Код ответа DNS-запроса. Коды определены здесь: https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-6 ↗.
TC Если TC поле имеет значение true, это означает, что установлен флаг усечения. Это происходит, когда DNS-ответ превышает размер одного пакета UDP или TCP. При использовании Cloudflare DNS over HTTPS TC поле почти всегда имеет значение false, потому что Cloudflare поддерживает максимальный размер ответа.
RD Если значение true, это означает, что был установлен бит Recursive Desired. Для Cloudflare DNS over HTTPS он всегда равен true.
RA Если значение true, это означает, что был установлен бит Recursion Available. Для Cloudflare DNS over HTTPS он всегда равен true.
AD Если значение true, это означает, что каждая запись в ответе была проверена с помощью DNSSEC.
CD Если значение true, это означает, что клиент запросил отключение проверки DNSSEC. В этом случае Cloudflare всё равно получит записи, связанные с DNSSEC, но не будет пытаться их проверить.
Question: name Запрошенное имя записи.
Question: type Запрошенный тип записи DNS. Типы определены здесь: https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4 ↗.
Answer: name Владелец записи.
Answer: type Тип записи DNS. Типы определены здесь: https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4 ↗.
Answer: TTL Количество секунд, в течение которых ответ можно хранить в кэше до того, как он станет считаться устаревшим.
Answer: data Значение записи DNS для указанного имени и типа. Для стандартных типов записей данные представлены в текстовом виде, а для неизвестных типов в шестнадцатеричном.
Authority: name Владелец записи.
Authority: type Тип записи DNS. Типы определены здесь: https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4 ↗.
Authority: TTL Количество секунд, в течение которых ответ можно хранить в кэше до того, как он станет считаться устаревшим.
Authority: data Значение записи DNS для указанного имени и типа. Для стандартных типов записей данные представлены в текстовом виде, а для неизвестных типов в шестнадцатеричном.
Additional: name Владелец записи.
Additional: type Тип записи DNS. Типы определены здесь: https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4 ↗.
Additional: TTL Количество секунд, в течение которых ответ можно хранить в кэше до того, как он станет считаться устаревшим.
Additional: data Значение записи DNS для указанного имени и типа. Для стандартных типов записей данные представлены в текстовом виде, а для неизвестных типов в шестнадцатеричном.
Comment Список сообщений EDE. См. Расширенные коды ошибок DNS, где это описано подробнее.

Ответ с ошибкой

Поле Описание
error Описание возникшей ошибки.