61

如何在给定 IP 地址的情况下查找主机名?此外,如果不存在这样的反向 DNS 条目,我如何指定超时?试图让事情尽可能快。或者,还有更好的方法?谢谢!

4

2 回答 2

104
>>> import socket
>>> socket.gethostbyaddr("69.59.196.211")
('stackoverflow.com', ['211.196.59.69.in-addr.arpa'], ['69.59.196.211'])

为了在函数上实现超时,这个 stackoverflow 线程对此有答案。

于 2010-04-04T20:28:02.240 回答
21

您要完成的工作称为反向 DNS 查找。

socket.gethostbyaddr("IP") 
# => (hostname, alias-list, IP)

http://docs.python.org/library/socket.html?highlight=gethostbyaddr#socket.gethostbyaddr

但是,对于超时部分,我已经阅读了有关人们遇到此问题的信息。我会查看PyDNS这个解决方案以获得更高级的处理。

于 2010-04-04T20:29:55.983 回答