Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

JSON を使う

最終更新 Markdown で表示Agent セットアップ

Cloudflare の DNS over HTTPS エンドポイントは、DNS データの問い合わせに JSON 形式もサポートしています。Internet Engineering Task Force(IETF)では DNS over HTTPS の JSON スキーマは合意されていません。そのため Cloudflare は、Google の DNS over HTTPS リゾルバーと同じスキーマに合わせています。

JSON 形式のクエリは GET リクエストで送ります。GET でリクエストする場合、DNS クエリは URL にエンコードします。クライアントが JSON 応答を受け取れることを示すため、MIME タイプ application/dns-json の HTTP Accept リクエストヘッダーを付けます。

対応パラメーター

フィールド 必須 説明 デフォルト
name はい クエリ名。 -
type いいえ クエリタイプ(数値またはテキスト)。 A
do いいえ DO ビット。クライアントが DNSSEC データを要求するかどうか(空、または 0false1true のいずれか)。 false
cd いいえ CD ビット。検証を無効化するかどうか(空、または 0false1true のいずれか)。 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 の場合、truncated ビットがセットされています。これは、DNS 応答が 1 つの UDP または TCP パケットのサイズを超えたときに発生します。Cloudflare の DNS over HTTPS では、最大応答サイズをサポートしているため、TC フィールドはほぼ常に false です。
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 レコードの値。標準化されたレコードタイプはテキスト、未知のタイプは 16 進数です。
Authority: name レコードの所有者。
Authority: type DNS レコードのタイプ。定義は次を参照してください: https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4
Authority: TTL 応答をキャッシュに保持できる秒数。この時間を超えると古いとみなされます。
Authority: data 指定した名前とタイプに対する DNS レコードの値。標準化されたレコードタイプはテキスト、未知のタイプは 16 進数です。
Additional: name レコードの所有者。
Additional: type DNS レコードのタイプ。定義は次を参照してください: https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4
Additional: TTL 応答をキャッシュに保持できる秒数。この時間を超えると古いとみなされます。
Additional: data 指定した名前とタイプに対する DNS レコードの値。標準化されたレコードタイプはテキスト、未知のタイプは 16 進数です。
Comment EDE メッセージの一覧。詳細は Extended DNS error codes を参照してください。

エラー応答

フィールド 説明
error 発生したエラーの説明です。

役に立ちましたか?