Python从IP查找主机名,超时1秒

ens*_*are 48 python dns hostname nameservers

如何在给定IP地址的情况下查找主机名?此外,如果不存在此类反向DNS条目,如何指定超时?尽量保持事物的速度.或者,还有更好的方法?谢谢!

Chr*_*heD 85

>>> import socket
>>> socket.gethostbyaddr("69.59.196.211")
('stackoverflow.com', ['211.196.59.69.in-addr.arpa'], ['69.59.196.211'])
Run Code Online (Sandbox Code Playgroud)

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

  • @EiyrioüvonKauyf:这不是问题(在指定IP地址时返回主机名). (5认同)
  • socket有自己的设置超时的方法:https://docs.python.org/2/library/socket.html#socket.socket.settimeout (2认同)

ada*_*mse 17

您要完成的任务称为反向DNS查找.

socket.gethostbyaddr("IP") 
# => (hostname, alias-list, IP)
Run Code Online (Sandbox Code Playgroud)

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

但是,对于超时部分,我已经读过有关人们遇到此问题的人.我会查看PyDNS解决方案以获得更高级的治疗.