TLS ve TLS olmayan uç noktalarda kullanılabilen DoH JSON API ile alan adlarını HTTPS üzerinden çözümleyin.
Uç noktalar
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
İstek parametreleri
Yöntem: GET. Parametreler:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ts=1614927253 Zorunlu, varsayılan değer yok |
|
|
|
|
|
key=fb321ab77496a89c04de0a1e979bfee4b4678a0dcd57f4da1da83****490f64b Zorunlu, varsayılan değer yok |
|
|
|
|
|
|
Edns_client_subnet parametresi hakkında
Edns_client_subnet parametresi, doğru çözümleme ve trafik yeniden yönlendirme için kullanıcı alt ağ bilgilerini yetkili DNS'e ileten DNS ECS'yi (RFC7871) uygular. Daha uzun alt ağ maskeleri daha hassas adresleme sağlar; daha kısa maskeler ise gizliliği artırır. /24 maske uzunluğu önerilir.
Bir DNS proxy'si sorguları DoH JSON API aracılığıyla ilettiğinde bu parametreyi kullanın. Proxy, kullanıcının alt ağ bilgilerini HTTPDNS hizmetine gönderir ve bu hizmet bilgiyi yetkili sunucuya iletir.
Örneğin, subnet=1.2.XX.XX/24 durumunda yetkili sunucu, en uygun DNS yolunu seçmek için 1.2.XX.XX/24 önekini alır.
Type parametresi için desteklenen türler hakkında
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Kimlik doğrulama parametresi key oluşturma algoritması
key = sha256(AccountID+AccessKey Secret+ts+qname+AccessKey ID)
Note: The plus sign (+) represents string concatenation, not the actual "+" character.
Hesap kimliği, hesap kimliğinizin dize değeridir (örneğin, "9**9"). ts, mevcut istek zaman damgasıdır. qname, istenen alan adıdır. Bir AccessKey çifti oluşturmak için Anahtar oluşturun konusuna bakın.
Anahtar oluşturma örneği
Varsayımlar:
Hesap Kimliği=5***4
AccessKey Secret=12345**
qname=aliyun.com
ts=1614927253
AccessKey ID=5*4_2155917885567**
key=sha256(54123451614927253aliyun.com54_2155917885567**)
Oluşturulan anahtar:
key=*ab77496a89c04de0a1e979bfee4b4678a0dcd57f4da1da83***a490f64b
Örnek istek
https://223.5.5.5/resolve?name=domain&type=record type&uid=AccountID&ak=AccessKey ID&key=****&ts=timestamp
Örnek yanıt
{
"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"
}
Yanıt değeri açıklaması
|
Alan adı |
Açıklama |
Örnek |
|
Status |
DNS başlığındaki RCODE |
0: noerror 1: formerr 2: servfail 3: nxdomain |
|
TC |
TC bayrağı: kesintinin mümkün olup olmadığı |
Genellikle false |
|
RD |
RD bayrağı: yinelemenin istenip istenmediği |
Genellikle true |
|
RA |
RA bayrağı: yinelemenin mevcut olup olmadığı |
Genellikle true |
|
AD/CD |
DNS başlık bayrakları |
Genellikle false |
|
Question |
DNS istek alanı |
Yok |
|
Answer |
DNS yanıt alanı |
Yok |
|
name |
Hem Question hem de Answer içinde yer alan alan adı |
www.taobao.com |
|
type |
Type parametresi için desteklenen türler hakkında bölümünde listelenen istek türü |
Örneğin: A, AAAA, TXT, CNAME, NS, SOA |
|
TTL |
Sunucudaki maksimum önbellekleme süresi, saniye cinsinden |
3600 |
|
data |
Yanıt verileri (türe göre değişir) |
Yok |
Kısa mod yanıt örneği:
www.taobao.com için örnek A kaydı isteği:
https://223.5.5.5/resolve?name=domain&type=A&uid=AccountID&short=1&ak=AccessKey ID&key=****&ts=timestamp
Yanıt:
["221.229.XX.XX","61.155.XX.XX","221.229.XX.XX"]
CNAME kaydı isteği:
https://223.5.5.5/resolve?name=domain&type=CNAME&uid=AccountID&short=1&ak=AccessKey ID&key=****&ts=timestamp
Yanıt:
["www.taobao.com.danuoyi.tbcache.com."]
Başarısız yanıt
Başarısız istekler, hata ayıklama veya sorun bildirme amacıyla bir JSON hata koduyla birlikte HTTP 4xx/5xx döndürür.
Örnek:
{
"code":"UrlParameterError"
}
Hata kodu listesi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DoH JSON API En İyi Uygulamaları kılavuzu, HTTPDNS ile alan adı çözümlemeyi kapsar.
SDK, imzaları otomatik olarak işler. Android SDK geliştirme kılavuzu veya iOS SDK geliştirme kılavuzu ile başlayın.