すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud DNS:DoH JSON API

最終更新日:Nov 09, 2025

DNS-over-HTTPS (DoH) JSON API は、TLS API と非 TLS API の両方の URL エンドポイントを提供します。

エンドポイント

  • https://223.5.5.5/resolve?name=domain&type=record type&uid=AccountID&ak=AccessKey ID&key=****&ts=timestamp

  • http://223.5.5.5/resolve?name=domain&type=record type&uid=AccountID&ak=AccessKey ID&key=****&ts=timestamp

  • https://223.6.6.6/resolve?name=domain&type=record type&uid=AccountID&ak=AccessKey ID&key=****&ts=timestamp

  • http://223.6.6.6/resolve?name=domain&type=record type&uid=AccountID&ak=AccessKey ID&key=****&ts=timestamp

リクエストパラメーター

リクエストメソッド: GET。 リクエストパラメーターは以下のとおりです。

パラメーター

タイプ

説明

使用方法とデフォルト値

name

文字列

リクエスト内のドメイン名

name=www.taobao.com

必須、デフォルト値なし

type

文字列

type パラメーターでサポートされているタイプについて

type=A

オプション、デフォルト値なし

edns_client_subnet

IP

ECS IP

edns_client_subnet=1.2.XX.XX/24

DNS プロキシ用、通常のクライアントには適用されません

short

boolean

short=true または short=1

オプション、デフォルトでは無効

uid

文字列

uid はコンソール内のアカウント ID であり、Alibaba Cloud アカウント ID ではありません

uid=9**9

必須、デフォルト値なし

ak

文字列

ak はコンソール内の AccessKey ID です

ak=test

必須、デフォルト値なし

ts

文字列

タイムスタンプ

符号なし整数、1970 年 1 月 1 日からの経過秒数

ts=1614927253

必須、デフォルト値なし

key

文字列

認証用ハッシュ文字列

AccessKey Secret を使用して生成された署名

key=fb321ab77496a89c04de0a1e979bfee4b4678a0dcd57f4da1da83****490f64b

必須、デフォルト値なし

did

文字列

デバイス ID

did=afck0100

オプション

edns_client_subnet パラメーターについて

edns_client_subnet パラメーターは、DNS ECS 機能 (RFC7871) をサポートしています。これは、より正確な DNS 名前解決とトラフィックの再ルーティングのために、ユーザーのサブネット情報を権威 DNS サーバーに渡します。長いサブネットマスクはより正確なアドレス情報を提供しますが、短いマスクはより良いユーザー プライバシーを提供します。サブネットマスクの長さは「/24」を推奨します。

説明

このパラメーターは、DNS プロキシが DoH JSON API を使用するシナリオ向けに設計されています。 これらのシナリオでは、ユーザーは DNS クエリを DNS プロキシに送信します。 次に、プロキシはこのパラメーターを使用してユーザーのサブネット情報を HTTPDNS に送信し、HTTPDNS はその情報を権威サーバーに渡します。

たとえば、withsubnet=1.2.XX.XX/24 を使用すると、権威サーバーはユーザーの DNS パスを選択するために 1.2.XX.XX/24 アドレスプレフィックス情報を受信します。

type パラメーターでサポートされているタイプについて

レコードタイプ

ID

備考

A

1

IPv4 アドレス

NS

2

NS レコード

CNAME

5

ドメイン CNAME レコード

SOA

6

ZONE SOA レコード

TXT

16

TXT レコード

AAAA

28

IPv6 アドレス

PTR

12

PTR レコード、逆 DNS ルックアップに使用

MX

15

メール交換レコード

SRV

33

SRV レコードは、特定のサービスのホストとポートを指定します

CAA

257

CAA レコードは、HTTPS 証明書の誤発行を防ぐためのセキュリティ対策です

認証パラメーター key を生成するためのアルゴリズム

key = sha256(AccountID+AccessKey Secret+ts+qname+AccessKey ID)

// 注: プラス記号 (+) は文字列の連結を表し、実際の「+」文字ではありません。

この数式では、アカウント ID はアカウント ID の文字列値です。 たとえば、アカウント ID が 9**9 の場合、文字列は "9**9" です。 ts は、現在のリクエストのタイムスタンプです。 qname は、リクエストされたドメイン名です。 AccessKey ID と AccessKey Secret の生成方法の詳細については、「キーの作成」をご参照ください。

key 生成例

説明

仮定:

  • アカウント ID=5***4

  • AccessKey Secret=12345**

  • qname=aliyun.com

  • ts=1614927253

  • AccessKey ID=5***4_2155917885567****

key=sha256(5***412345**1614927253aliyun.com5***4_2155917885567****)

生成された key は次のとおりです。

key=*****ab77496a89c04de0a1e979bfee4b4678a0dcd57f4da1da83***a490f64b

リクエスト例

説明

https://223.5.5.5/resolve?name=domain&type=record type&uid=AccountID&ak=AccessKey ID&key=****&ts=timestamp

レスポンス例

{
    "Status":0,  
    "TC":false,
    "RD":true,
    "RA":true,
    "AD":false,
    "CD":false,
    "Question":{       // リクエストセクション
        "name":"www.taobao.com.",
        "type":1
    },
    "Answer":[         // レスポンスセクション
        {
            "name":"www.taobao.com.",
            "TTL":45,
            "type":5,
            "data":"www.taobao.com.danuoyi.tbcache.com."
        },
        {
            "name":"www.taobao.com.danuoyi.tbcache.com.",
            "TTL":45,
            "type":1,
            "data":"47.246.XX.XX"
        },
        {
            "name":"www.taobao.com.danuoyi.tbcache.com.",
            "TTL":45,
            "type":1,
            "data":"47.246.XX.XX"
        }
    ]
    //"Authority" Authority セクション。データが存在する場合、フォーマットは Answer フィールドと同じです
    //"Additional" Additional セクション。データが存在する場合、フォーマットは Answer フィールドと同じです
    // オプション "edns_client_subnet":"1.2.XX.XX/24"  
}

レスポンス値の説明

フィールド名

説明

Status

DNS メッセージヘッダーの rcode

0: noerror

1: formerr

2: servfail

3: nxdomain

TC

DNS メッセージヘッダーの TC。切り捨てが可能かどうかを示します

通常は false

RD

DNS メッセージヘッダーの RD。再帰が望ましいかどうかを示します

通常は true

RA

DNS メッセージヘッダーの RA。再帰が可能かどうかを示します

通常は true

AD/CD

DNS メッセージヘッダーの対応するフラグ

通常は false

Question

DNS リクエストフィールド

なし

Answer

DNS レスポンスフィールド

なし

name

ドメイン名。Question と Answer の両方に含まれます

www.taobao.com

type

リクエストタイプ。上記の「type パラメーターでサポートされているタイプについて」を参照してください

例: A、AAAA、TXT、CNAME、NS、SOA

TTL

サーバー上のレスポンス値の最大キャッシュ時間 (秒)

3600

data

レスポンス結果。type に関連しています

なし

短縮モードのレスポンス例:

www.taobao.com を例として使用すると、A レコードをリクエストする場合、リクエスト URL は次のようになります。

https://223.5.5.5/resolve?name=domain&type=A&uid=AccountID&short=1&ak=AccessKey ID&key=****&ts=timestamp

レスポンスは次のようになります。

["221.229.XX.XX","61.155.XX.XX","221.229.XX.XX"]

CNAME レコードをリクエストする場合、URL は次のようになります。

https://223.5.5.5/resolve?name=domain&type=CNAME&uid=AccountID&short=1&ak=AccessKey ID&key=****&ts=timestamp

レスポンスは次のようになります。

["www.taobao.com.danuoyi.tbcache.com."]

失敗したレスポンス

リクエストが失敗した場合、HTTP レスポンス ステータスコードは 4xx/5xx で、デバッグまたは問題報告のために特定のエラーコードが返されます。結果は JSON 形式で表されます。

失敗レスポンスの例:

{
 "code":"UrlParameterError"
}

エラーコードリスト

エラーコード

HTTP ステータスコード

説明

UrlParameterError

400

リクエストパラメーターの形式エラー

NoPermission

401

認証に失敗しました

UrlPathError

404

URL エラー

NoResponse

500

リクエストタイムアウト、レスポンスなし

説明
  1. DoH JSON API を使用して HTTPDNS にアクセスし、名前解決を行う方法の詳細については、「DoH JSON API のベストプラクティス」をご参照ください。

  2. SDK には署名コードが含まれており、手動で実装する必要がないため、アクセスには SDK を使用することをお勧めします。 SDK アクセスの詳細については、「Android SDK 開発ガイド」および「iOS SDK 開発ガイド」をご参照ください。