Forespørg på Google Public DNS' JSON-API gennem en HTTP-proxy
Hent DNS-poster via en proxet HTTPS-anmodning, mens resolver-API'et holdes adskilt fra proxyserverens egen opslagning af værtsnavn.
En HTTP-proxy kan bære en anmodning til en DNS-over-HTTPS-tjeneste. For Google Public DNS' JSON-grænseflade kan en eksplicit forespørgsel se sådan ud:
curl --fail --proxy http://proxy.example.net:8080 --noproxy "" \
--get --data-urlencode "name=example.net" \
--data-urlencode "type=A" \
https://dns.google/resolve
Proxyserveren bærer HTTPS-forbindelsen til dns.google. HTTP-proxylisten er ét sted at vælge en kandidat til denne offentlige forespørgsel, hvor adgang via offentlige proxyservere er tilladt. Googles resolver svarer på parameteren name. Dette er ikke en anmodning om, at proxyserveren skal returnere sin egen DNS-cache, og heller ikke en ændring af den DNS-konfiguration, som andre programmer bruger.
Læs Status i JSON'en og de returnerede poster, ikke kun HTTP-status. Et HTTP-svar, der er leveret med succes, kan beskrive en DNS-fejl. Skift type til den ønskede post, for eksempel AAAA eller MX; én A-forespørgsel er ikke en fuldstændig fortegnelse over alle posttyper.
Dette endepunkts JSON-format er et dokumenteret Google-API. Standard DoH-klienter i wire-format bruger i stedet DNS-beskeder og application/dns-message. Et almindeligt nslookup-kald får ikke nogen af de to HTTP-grænseflader, blot fordi HTTPS_PROXY er sat.