Trying to configure your browser to use DoH? See the article linked here: Using DNS over HTTPS (DoH) with OpenDNS
Query format
OpenDNS follows RFC8484, accepting DoH (DNS over HTTPS) using both GET and POST methods containing queries in DNS Wire Format. Note that OpenDNS does not support queries in JSON format.
GET
:method = GET
:scheme = https
:authority = doh.opendns.com
:path = /dns-query?dns=rmUBAAABAAAAAAAAB2NhcmVlcnMHb3BlbmRucwNjb20AAAEAAQ
accept = application/dns-message
Curl example:
curl -H 'accept: application/dns-message' 'https://doh.opendns.com/dns-query?dns=rmUBAAABAAAAAAAAB2NhcmVlcnMHb3BlbmRucwNjb20AAAEAAQ' | hexdump -C
POST
:method = POST :scheme = https :authority = doh.opendns.com :path = /dns-query accept = application/dns-message content-type = application/dns-message content-length = 37
<37 bytes represented by the following hex encoding> 0f 29 01 00 00 01 00 00 00 00 00 00 07 63 61 72
65 65 72 73 07 6f 70 65 6e 64 6e 73 03 63 6f 6d
00 00 01 00 01
Curl example:
printf "\
0f 29 01 00 00 01 00 00 00 00 00 00 07 63 61 72 65 65 72 73 07 6f 70 65 6e 64 6e 73 03 63 6f 6d 00 00 01 00 01 "\
| xxd -r -p - | curl -H 'content-type: application/dns-message' --data-binary @- https://doh.opendns.com/dns-query -o - | hexdump -C
Endpoints
OpenDNS has endpoints available for both standard DNS service and FamilyShield. These endpoints accept the URI template of the form:
https://doh.opendns.com/dns-query{?dns}
Standard DNS endpoint:
https://doh.opendns.com/dns-query
FamilyShield endpoint (returns block pages for adult content):
https://doh.familyshield.opendns.com/dns-query