Wie kann ich einen Hostnamen mit einer IP-Adresse suchen? Außerdem, wie kann ich ein Timeout angeben, falls kein solcher Reverse-DNS-Eintrag existiert? Versuche, die Dinge so schnell wie möglich zu halten. Oder gibt es einen besseren Weg? Vielen Dank!Python Lookup Hostname von IP mit 1 Sekunde Timeout
38
A
Antwort
61
>>> import socket
>>> socket.gethostbyaddr("69.59.196.211")
('stackoverflow.com', ['211.196.59.69.in-addr.arpa'], ['69.59.196.211'])
Für das Timeout auf die Funktion der Umsetzung hat this stackoverflow thread Antworten darauf.
10
Was Sie versuchen zu erreichen, heißt Reverse-DNS-Lookup.
socket.gethostbyaddr("IP")
# => (hostname, alias-list, IP)
http://docs.python.org/library/socket.html?highlight=gethostbyaddr#socket.gethostbyaddr
jedoch für den Timeout Teil mit diesen Problemen über Menschen liest Ich habe laufen. Ich würde prüfen, PyDNS oder this Lösung für eine fortschrittliche Behandlung.
was ist mit so etwas wie "http: /1.0.1.0/blah/blahm.html"? –
@ Eiyriou von Kauyf: Das war nicht die Frage (gib einen Hostnamen zurück, wenn eine IP-Adresse angegeben wurde). – ChristopheD
es ist die gleiche Frage - aber ich frage, haben Sie eine vorgeschlagene Möglichkeit, das zu normalisieren und tun socket.gethostbyaddr ("1.0.1.0") oder dergleichen? Es ist die gleiche Frage, aber das Eingabeformat ist anders - gethostbyaddr mag keine nicht normalisierte Eingabe. –