Python3 调用 resolver 时出现错误如何解决?
想获取一条 url 的全部 CName,网上找到一段代码:
from dns import resolver
ans = resolver.query(“www.chinacache.com”, “A”)
print(“qname:”,ans.qname)
print (“reclass:”,ans.rdclass)
print (“rdtype:”,ans.rdtype)
print (“rrset:”,ans.rrset)
print (“response:”,ans.response)
经 pycharm 编译后报错:
Traceback (most recent call last):
File “D:/OneDrive/Kingsoft/Python/Sublime_workspace/1.py”, line 4, in <module>
ans = resolver.query(“www.baidu.com”, “A”)
File “C:\Program Files\Python36\lib\site-packages\dns\resolver.py”, line 1132, in query
raise_on_no_answer, source_port)
File “C:\Program Files\Python36\lib\site-packages\dns\resolver.py”, line 1051, in query
raise NXDOMAIN(qnames=qnames_to_try, responses=nxdomain_responses)
dns.resolver.NXDOMAIN: None of DNS query names exist: www.baidu.com., www.baidu.com.ksyun.com., www.baidu.com.192.168.12.18., www.baidu.com.192.168.12.19., www.baidu.com.114.114.114.114., www.baidu.com.ksyun.com., www.baidu.com.192.168.12.18., www.baidu.com.192.168.12.19., www.baidu.com.114.114.114.114., www.baidu.com.kingsoft.cn.
Python3 调用 resolver 时出现错误如何解决?
我无法理解你的问题。
dns.resolver.query(‘www.baidu.com’, ‘CNAME’).response.answer[-1].items[-1].to_text()
获取全部的话,两个列表可以循环一下~
import dns.resolver
domain=raw_input(‘please input an domain:’)
ns=dns.resolver.query(domain,‘CNAME’)
for i in ns.response.answer:
for j in i.items:
print j.to_text()
可能是系统的问题
我的是 window10,报错;代码 copy 到一个苹果电脑上可以,但是只返回第一个 Cname

