当我做dig -t NS www.cloudflare.com
时
;; QUESTION SECTION:
;www.cloudflare.com. IN NS
;; AUTHORITY SECTION:
cloudflare.com. 275 IN SOA ns3.cloudflare.com. dns.cloudflare.com. 2029950661 10000 2400 604800 300
虽然没有答案,但是从权威部分我仍然可以得到SOA记录。在
但是有了dnspython
^{pr2}$这只会引发异常:“DNS响应不包含问题的答案:www.cloudflare.com。在SOA中”
有什么想法吗?在
如文件所述:
在像你这样的情况下,这会引起例外。”dns.resolver.NoAnswer“这是正确的,正如定义的那样,因为对于这个特定的名称和类型确实没有答案。 对于相同的名称和其他类型,可能有答案,但对于特定类型则没有答案。在
但是,如果您查看文档和函数签名,您可以看到它有以下内容:
raise_on_no_answer=True
。在因此,如果您更改代码以在
query
调用中添加raise_on_no_answer=False
,则不会出现任何异常,您可以操纵答案。您需要进入response
部分。当然,您需要在下面的代码中添加许多检查,以使它能够处理各种边缘情况。在相关问题 更多 >
编程相关推荐