(Aby odpowiedzieć, jak można dowiedzieć się zwracanych danych)
można uzyskać TXT, CNAME i SOA rejestruje podobny sposób, ale po prostu trzeba uzyskać odpowiednie atrybuty w zależności od obiektu odpowiedzi DNS.
Wbudowana funkcja python dir() jest Twoim przyjacielem i jednym ze sposobów ustalenia, jakie atrybuty istnieją w obiekcie odpowiedzi DNS - przydatne, gdy dokumentacja API jest niedostępna.
Aby dowiedzieć się odpowiednie atrybuty, zmień pętli tymczasowo na następujące kwestie:
for data in answer:
print dir(data)
print data
Innym i szybszym sposobem jest przyjrzenie się dokumentacji API dla dnspython tych stronach przedstawiono atrybuty dla każdego zwrócony obiekt.
Wreszcie, możesz sprawdzić źródło, jeśli biblioteka jest w python, a jeśli nie, to jeśli kod C jest dostępny.
(I odpowiedzieć na pytanie :)
Oto przykłady TXT, CNAME i zapytania SOA:
TXT
http://www.dnspython.org/docs/1.15.0/dns.rdtypes.txtbase.TXTBase-class.html#section-InstanceVariables
answers = dns.resolver.query('google.com', 'TXT')
print ' query qname:', answers.qname, ' num ans.', len(answers)
for rdata in answers:
for txt_string in rdata.strings:
print ' TXT:', txt_string
CNAME
http://www.dnspython.org/docs/1.15.0/dns.rdtypes.ANY.CNAME.CNAME-class.html
answers = dns.resolver.query('mail.google.com', 'CNAME')
print ' query qname:', answers.qname, ' num ans.', len(answers)
for rdata in answers:
print ' cname target address:', rdata.target
SOA
http://www.dnspython.org/docs/1.15.0/dns.rdtypes.ANY.SOA.SOA-class.html#section-InstanceVariables
answers = dns.resolver.query('google.com', 'SOA')
print 'query qname:', answers.qname, ' num ans.', len(answers)
for rdata in answers:
print ' serial: %s tech: %s' % (rdata.serial, rdata.rname)
print ' refresh: %s retry: %s' % (rdata.refresh, rdata.retry)
print ' expire: %s minimum: %s' % (rdata.expire, rdata.minimum)
print ' mname: %s' % (rdata.mname)
Linki są podzielone ... –
należy ustalić teraz –