小智 9

使用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}
Run Code Online (Sandbox Code Playgroud)


Ale*_*lli 8

twisted有一个很好的纯python实现,请参见twisted.names来源(尤其是dns.py).如果您不能使用他们的所有代码,也许您可​​以Record_SRV从该文件中提取和重新调整他们的类.


ars*_*ars 7

你可以试试dnspython库:

  • 工作谢谢!为答案中的rdata导入dns.resolver answers = dns.resolver.query('_ xmpp-server._tcp.gmail.com','SRV'):print str(rdata) (3认同)
  • 这是仅链接的答案 (2认同)