Tous les produits
Search
Centre de documentation

Alibaba Cloud DNS:DoH JSON API

Dernière mise à jour :Aug 09, 2026

Résolvez les noms de domaine via HTTPS à l'aide de l'API JSON DoH, disponible sur des endpoints avec et sans TLS.

Endpoints

  • 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

Paramètres de requête

Méthode : GET. Paramètres :

Paramètre

Type

Description

Exemple

Utilisation et valeur par défaut

name

string

Nom de domaine dans la requête

name=www.taobao.com

Obligatoire, aucune valeur par défaut

type

string

À propos des types pris en charge pour le paramètre type

type=A

Facultatif, aucune valeur par défaut

edns_client_subnet

IP

IP ECS

edns_client_subnet=1.2.XX.XX/24

Uniquement pour les proxys DNS

short

boolean

short=true ou short=1

Facultatif, désactivé par défaut

uid

string

ID de compte depuis la console (et non l'ID de compte Alibaba Cloud)

uid=9**9

Obligatoire, aucune valeur par défaut

ak

string

ID AccessKey depuis la console

ak=test

Obligatoire, aucune valeur par défaut

ts

string

Horodatage

Entier non signé, secondes écoulées depuis le 1er janvier 1970

ts=1614927253

Obligatoire, aucune valeur par défaut

key

string

Chaîne de hachage pour l'authentification

Signature générée à l'aide de la clé secrète AccessKey Secret

key=fb321ab77496a89c04de0a1e979bfee4b4678a0dcd57f4da1da83****490f64b

Obligatoire, aucune valeur par défaut

did

string

ID d'appareil

did=afck0100

Facultatif

À propos du paramètre edns_client_subnet

Le paramètre edns_client_subnet implémente DNS ECS (RFC7871) en transmettant les informations de sous-réseau de l'utilisateur au DNS faisant autorité pour une résolution précise et un reroutage du trafic. Des masques de sous-réseau plus longs offrent un adressage plus précis ; des masques plus courts améliorent la confidentialité. Une longueur de masque /24 est recommandée.

Remarque

Utilisez ce paramètre lorsqu'un proxy DNS transfère des requêtes via l'API JSON DoH. Le proxy envoie les informations de sous-réseau de l'utilisateur à HTTPDNS, qui les transmet au serveur faisant autorité.

Par exemple, avec subnet=1.2.XX.XX/24, le serveur faisant autorité reçoit le préfixe 1.2.XX.XX/24 pour sélectionner le chemin DNS optimal.

À propos des types pris en charge pour le paramètre type

Type d'enregistrement

ID

Remarques

A

1

Adresse IPv4

NS

2

Enregistrement NS

CNAME

5

Enregistrement CNAME de domaine

SOA

6

Enregistrement SOA de zone

TXT

16

Enregistrement TXT

AAAA

28

Adresse IPv6

PTR

12

Enregistrement PTR, utilisé pour la recherche DNS inverse

MX

15

Enregistrement d'échange de messagerie

SRV

33

L'enregistrement SRV spécifie l'hôte et le port pour des services spécifiques

CAA

257

L'enregistrement CAA est une mesure de sécurité visant à empêcher l'émission incorrecte de certificats HTTPS

Algorithme de génération du paramètre d'authentification key

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

Note: The plus sign (+) represents string concatenation, not the actual "+" character. 

L'ID de compte est la valeur chaîne de votre ID de compte (par exemple, « 9**9 »). ts correspond à l'horodatage actuel de la requête. qname est le nom de domaine demandé. Pour générer une paire AccessKey, suivez les instructions de la rubrique Créer une clé.

Exemple de génération de clé

Remarque

Supposons :

  • Account ID=5***4

  • AccessKey Secret=12345**

  • qname=aliyun.com

  • ts=1614927253

  • AccessKey ID=5*4_2155917885567**

key=sha256(54123451614927253aliyun.com54_2155917885567**)

Clé générée :

key=*ab77496a89c04de0a1e979bfee4b4678a0dcd57f4da1da83***a490f64b

Exemple de requête

Remarque

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

Exemple de réponse

{
    "Status":0,  
    "TC":false,
    "RD":true,
    "RA":true,
    "AD":false,
    "CD":false,
    "Question":{       // Request section
        "name":"www.taobao.com.",
        "type":1
    },
    "Answer":[         // Response section
        {
            "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 section, if data exists, format is the same as Answer field 
    //"Additional" Additional section, if data exists, format is the same as Answer field
    // Optional "edns_client_subnet":"1.2.XX.XX/24"  
}

Description des valeurs de réponse

Nom du champ

Description

Exemple

Status

RCODE de l'en-tête DNS

0 : noerror

1 : formerr

2 : servfail

3 : nxdomain

TC

Indicateur TC : indique si la troncature est possible

Généralement false

RD

Indicateur RD : indique si la récursivité est souhaitée

Généralement true

RA

Indicateur RA : indique si la récursivité est disponible

Généralement true

AD/CD

Indicateurs d'en-tête DNS

Généralement false

Question

Champ de requête DNS

Aucun

Answer

Champ de réponse DNS

Aucun

name

Nom de domaine, inclus dans Question et Answer

www.taobao.com

type

Type de requête tel qu'indiqué dans À propos des types pris en charge pour le paramètre type

Par exemple : A, AAAA, TXT, CNAME, NS, SOA

TTL

Durée maximale de mise en cache sur le serveur, en secondes

3600

data

Données de réponse (varient selon le type)

Aucun

Exemple de réponse en mode court

Exemple de requête d'enregistrement A pour www.taobao.com :

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

Réponse :

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

Requête d'enregistrement CNAME :

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

Réponse :

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

Réponse en cas d'échec

Les requêtes ayant échoué renvoient un code HTTP 4xx/5xx avec un code d'erreur JSON pour le débogage ou le signalement de problèmes.

Exemple :

{
 "code":"UrlParameterError"
}

Liste des codes d'erreur

Code d'erreur

Code d'état HTTP

Description

UrlParameterError

400

Erreur de format des paramètres de requête

NoPermission

401

Échec de l'authentification

UrlPathError

404

Erreur d'URL

NoResponse

500

Délai d'attente de la requête dépassé, aucune réponse

Remarque
  1. Le guide des Bonnes pratiques de l'API DoH JSON couvre la résolution de domaine avec HTTPDNS.

  2. Le SDK gère automatiquement les signatures. Commencez par consulter le Guide de développement du SDK Android ou le Guide de développement du SDK iOS.