Python在1秒超时内从IP查找主机名
我该怎么根据一个IP地址查找对应的主机名呢?另外,如果没有这样的反向DNS记录,我怎么能设置一个超时时间呢?我想尽量让这个过程快一点。或者有没有更好的方法?谢谢!
2 个回答
22
你想要做的事情叫做反向DNS查找。
socket.gethostbyaddr("IP")
# => (hostname, alias-list, IP)
http://docs.python.org/library/socket.html?highlight=gethostbyaddr#socket.gethostbyaddr
109
>>> import socket
>>> socket.gethostbyaddr("69.59.196.211")
('stackoverflow.com', ['211.196.59.69.in-addr.arpa'], ['69.59.196.211'])
如果你想给一个函数设置超时时间,可以参考这个StackOverflow的讨论,里面有相关的解答。