未指定 DNS 查询或太小
DNS query not specified or too small
我正在尝试制作一个 python 脚本来测试服务器是否可以在 DNS-over-HTTPS 中应答。
因此,我阅读了 this article 并尝试提出相同的请求,但在 python 中:
import requests
r=requests.get("https://cloudflare-dns.com/dns-query?name=example.com&type=A", headers={"accept":"application/dns-message"})
print(r.url)
print(r.headers)
print(r.status_code)
这是输出
https://cloudflare-dns.com/dns-query?name=example.com&type=A
{'Access-Control-Allow-Origin': '*', 'Vary': 'Accept-Encoding',
'CF-RAY': '48b33f92aec83e4a-ZRH', 'Expect-CT': 'max-age=604800,
report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"',
'Date': 'Tue, 18 Dec 2018 17:11:23 GMT', 'Transfer-Encoding':
'chunked', 'Server': 'cloudflare', 'Connection': 'keep-alive'}
400
如果我根据写的内容 here,我的要求未 指定或太小 。
有人看出我错在哪里了吗?
谢谢
您用来传递参数的表单需要 application/dns-json
作为 MIME 接受类型。否则,对于 application/dns-message
,您只有一个 dns
键,其值为编码的完整 DNS 消息。
比较:
curl -H 'accept: application/dns-json' 'https://cloudflare-dns.com/dns-query?name=example.com&type=AAAA'
(来自 https://developers.cloudflare.com/1.1.1.1/dns-over-https/json-format/)
和
curl -H 'accept: application/dns-message' -v 'https://cloudflare-dns.com/dns-query?dns=q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB' | hexdump
(来自 https://developers.cloudflare.com/1.1.1.1/dns-over-https/wireformat/)
我正在尝试制作一个 python 脚本来测试服务器是否可以在 DNS-over-HTTPS 中应答。 因此,我阅读了 this article 并尝试提出相同的请求,但在 python 中:
import requests
r=requests.get("https://cloudflare-dns.com/dns-query?name=example.com&type=A", headers={"accept":"application/dns-message"})
print(r.url)
print(r.headers)
print(r.status_code)
这是输出
https://cloudflare-dns.com/dns-query?name=example.com&type=A
{'Access-Control-Allow-Origin': '*', 'Vary': 'Accept-Encoding', 'CF-RAY': '48b33f92aec83e4a-ZRH', 'Expect-CT': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"', 'Date': 'Tue, 18 Dec 2018 17:11:23 GMT', 'Transfer-Encoding': 'chunked', 'Server': 'cloudflare', 'Connection': 'keep-alive'} 400
如果我根据写的内容 here,我的要求未 指定或太小 。
有人看出我错在哪里了吗?
谢谢
您用来传递参数的表单需要 application/dns-json
作为 MIME 接受类型。否则,对于 application/dns-message
,您只有一个 dns
键,其值为编码的完整 DNS 消息。
比较:
curl -H 'accept: application/dns-json' 'https://cloudflare-dns.com/dns-query?name=example.com&type=AAAA'
(来自 https://developers.cloudflare.com/1.1.1.1/dns-over-https/json-format/)
和
curl -H 'accept: application/dns-message' -v 'https://cloudflare-dns.com/dns-query?dns=q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB' | hexdump
(来自 https://developers.cloudflare.com/1.1.1.1/dns-over-https/wireformat/)