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'])

関数にタイムアウトを実装するために、このスタックオーバーフロースレッドにはそれに関する回答があります。

于 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 に答える