Я пытаюсь использовать библиотеку dnspython, и меня немного смущает их пример запроса MX-записей на этой странице: www.dnspython.org/examples.html:
.
import dns.resolver
answers = dns.resolver.query('dnspython.org', 'MX')
for rdata in answers:
print 'Host', rdata.exchange, 'has preference', rdata.preference
В CLI Python, dir (ответы) дает мне:
['__class__', '__delattr__', '__delitem__', '__delslice__', '__dict__', '__doc__', '__getattr__', '__getattribute__', '__getitem__', '__getslice__', '__hash__', '__init__', '__iter__', '__len__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', '__weakref__', 'expiration', 'qname', 'rdclass', 'rdtype', 'response', 'rrset']
Меня смущают две вещи (которые связаны):
Итерация по объекту ответов. Что такое rdata в примере?
Ни один из атрибутов или методов ответов не соответствует обмену или предпочтению. Очевидно, что rdata - это не просто псевдоним ответов, но я не понимаю, откуда эти атрибуты.