HTTP proxy မှတစ်ဆင့် Google Public DNS ၏ JSON API ကို မေးမြန်းခြင်း
proxy ဖြတ်သွားသော HTTPS တောင်းဆိုမှုဖြင့် DNS မှတ်တမ်းများကို ရယူပြီး resolver API ကို proxy ၏ ကိုယ်ပိုင် hostname ရှာဖွေမှုနှင့် ခွဲခြားထားပါ။
HTTP proxy တစ်ခုသည် DNS-over-HTTPS ဝန်ဆောင်မှုသို့ တောင်းဆိုမှုတစ်ခုကို သယ်ဆောင်နိုင်သည်။ Google Public DNS ၏ JSON မျက်နှာပြင်အတွက် ရှင်းလင်းသော query တစ်ခုမှာ ဤသို့ဖြစ်နိုင်သည်။
curl --fail --proxy http://proxy.example.net:8080 --noproxy "" \
--get --data-urlencode "name=example.net" \
--data-urlencode "type=A" \
https://dns.google/resolve
proxy သည် HTTPS ချိတ်ဆက်မှုကို dns.google သို့ သယ်ဆောင်သည်။ HTTP proxy စာရင်း သည် ဤအများပြည်သူ query အတွက် ကိုယ်စားလှယ်လောင်းကို ရွေးချယ်ရန် နေရာတစ်ခုဖြစ်ပြီး အများပြည်သူ proxy များမှတစ်ဆင့် ဝင်ရောက်ခွင့်ရှိသည့်နေရာတွင် သုံးနိုင်သည်။ Google ၏ resolver သည် name ပါရာမီတာကို ဖြေကြားသည်။ ဤသည် proxy အား ၎င်း၏ကိုယ်ပိုင် DNS cache ကို ပြန်ပေးရန် တောင်းဆိုခြင်းမဟုတ်သလို အခြားအက်ပ်များ အသုံးပြုသော DNS ဖွဲ့စည်းမှုကို ပြောင်းလဲခြင်းလည်း မဟုတ်ပါ။
HTTP အခြေအနေတစ်ခုတည်းမဟုတ်ဘဲ JSON ရှိ Status နှင့် ပြန်လာသော မှတ်တမ်းများကို ဖတ်ပါ။ အောင်မြင်စွာ ပို့ဆောင်ပြီးသော HTTP တုံ့ပြန်မှုသည် DNS မအောင်မြင်မှုကို ဖော်ပြနိုင်သည်။ type ကို လိုအပ်သော မှတ်တမ်းသို့ ပြောင်းပါ၊ ဥပမာ AAAA သို့မဟုတ် MX။ A query တစ်ခုသည် မှတ်တမ်းအမျိုးအစားအားလုံး၏ ပြည့်စုံသောစာရင်း မဟုတ်ပါ။
ဤ endpoint ၏ JSON ပုံစံသည် မှတ်တမ်းတင်ထားသော Google API ဖြစ်သည်။ စံ DoH wire ပုံစံ client များသည် အစား DNS မက်ဆေ့ချ်များနှင့် application/dns-message ကို အသုံးပြုသည်။ သာမန် nslookup ခေါ်ဆိုမှုသည် HTTPS_PROXY သတ်မှတ်ထားခြင်းကြောင့်သာ ထို HTTP မျက်နှာပြင်နှစ်ခုအနက် တစ်ခုကိုမျှ မရရှိပါ။