我正在尝试使用 进行 zonetransfer dnspython
,然后将 A 记录存储到字典中,以后可以从中弹出值。见下文:
import dns.zone
import dns.query
from dns.exception import DNSException
from dns.rdataclass import *
from dns.rdatatype import *
domain = "mydomain.com"
ns = '1.2.3.4'
try:
zone = dns.zone.from_xfr(dns.query.xfr(ns, domain))
print "Zone origin:", zone.origin
except DNSException, e:
print e.__class__, e
for (name, ttl, rdata) in zone.iterate_rdatas('A'):
record = { name : rdata }
print name, rdata
print record
为什么我使用时的输出print
与我将相同的变量存储name, rdata
在字典中并打印该字典时不同?请参阅下面的输出:
www 1.1.1.1
{<DNS name www>: <DNS IN A rdata: 1.1.1.1>}
我想澄清我的问题:我如何使 dict 看起来像:
{ 'www' : '1.1.1.1' }