Вопрос

Что -то, что не полагается на родные библиотеки, было бы лучше.

Это было полезно?

Решение

Вы можете попробовать библиотеку Dnspython:

Другие советы

искаженный имеет отличную реализацию чистого питона, см. Twisted.names Источники (особенно dns.py) Если вы не можете использовать весь их код, возможно, вы можете извлечь и перепрофилировать их Record_SRV класс из этого файла.

С использованием pydns:

import DNS
DNS.ParseResolvConf()
srv_req = DNS.Request(qtype = 'srv')
srv_result = srv_req.req('_ldap._tcp.example.org')

for result in srv_result.answers:
    if result['typename'] == 'SRV':
        print result['data']

С использованием Dnspython:

>>> import dns.resolver
>>> domain='jabberzac.org'
>>> srvInfo = {}
>>> srv_records=dns.resolver.query('_xmpp-client._tcp.'+domain, 'SRV')
>>> for srv in srv_records:
...     srvInfo['weight']   = srv.weight
...     srvInfo['host']     = str(srv.target).rstrip('.')
...     srvInfo['priority'] = srv.priority
...     srvInfo['port']     = srv.port
... 
>>> print srvInfo
{'priority': 0, 'host': 'xmpp.jabberzac.org', 'port': 5222, 'weight': 0}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top