pyauto
pyauto copied to clipboard
dnspython实例代码中查询A记录无效
在代码中使用: A = dns.resolver.query(domain, 'A') 查询A记录,但实际上查询条件:'A' 无效,得到的结果集中包含CNAME记录,导致出现:
Please input an domain: www.baidu.com
Traceback (most recent call last):
File "aquery.py", line 9, in
异常。 执行环境:Python 2.7.3 , linux Ubuntu 12.04
期待得带你的回复
py
确认域名是A记录解析的,www.baidu.com是CNAME,所以会报错。
def get_ip_list(domain=''):
print('process domain=' + domain)
iplist = []
try:
A = dns.resolver.query(domain, 'A')
except Exception as msg:
print('dns error: ' + msg)
return []
for i in A.response.answer:
for j in i.items:
# ip
if 1 == j.rdtype:
iplist.append(j.address)
# cname,递归处理
elif 5 == j.rdtype:
iplist.extend(get_ip_list(j.to_text()))
return iplist
顶mapleflow,兼容性强很多了。 @mapleflow