Skip to content

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

1.1.1.1 へ API リクエストを送る

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

Cloudflare は、次の URL で DNS over HTTPS リゾルバーを提供しています。

https://cloudflare-dns.com/dns-query

HTTP メソッド

Cloudflare の DNS over HTTPS (DoH) エンドポイントは、DNS ワイヤフォーマットでは POSTGET を、JSON 形式では GET をサポートします。

POST でリクエストする場合、DNS クエリは HTTP リクエストのメッセージ本文として含め、MIME タイプ (application/dns-message) を Content-Type リクエストヘッダーで送ります。Cloudflare はクライアントが送った HTTP リクエストのメッセージ本文をそのまま使うため、メッセージ本文はエンコードしないでください。

GET でリクエストする場合、DNS クエリは URL にエンコードします。

有効な MIME タイプ

JSON 形式を使う場合は application/dns-json を、DNS ワイヤフォーマットを使う場合は application/dns-message を設定します。

cURL の例は、DNS ワイヤフォーマットJSON を参照してください。

1 回のクエリで複数の質問を送る

DNS クエリは、HTTP リクエスト 1 件に対してちょうど 1 つ対応します。複数のクエリを同時に送るには、1 つの接続で複数のリクエストを多重化できる HTTP/2 または HTTP/3 を使います。

DoH では、HTTP/2 が推奨される最小バージョンです。これは 1.1.1.1 固有の制限ではなく、RFC 8484 で定められた DoH の動作です。

リクエストの例:

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 over HTTPS リゾルバーは、TLS 1.2 と TLS 1.3 をサポートします。

ステータスコード

HTTP ステータス 意味
400 DNS クエリが指定されていないか、小さすぎます。
413 DNS クエリが、許可される最大 DNS メッセージサイズを超えています。
415 サポートされていない Content-Type です。
504 クエリ応答の待ち時間中にリゾルバーがタイムアウトしました。

役に立ちましたか?