2012-07-23 12 views

Antwort

31

Sie socket.gethostbyname() dafür verwenden können:

>>> import socket 
>>> socket.gethostbyname('google.com') 
'74.125.224.198' 
>>> socket.gethostbyname('foo')   # no host 'foo' exists on the network 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
socket.gaierror: [Errno 8] nodename nor servname provided, or not known 

Ihre Funktion könnte wie folgt aussehen:

def hostname_resolves(hostname): 
    try: 
     socket.gethostbyname(hostname) 
     return 1 
    except socket.error: 
     return 0 

Beispiel:

>>> hostname_resolves('google.com') 
1 
>>> hostname_resolves('foo') 
0 
+0

sah nur, dass ein vor einer Minute ... Ich muss h ave mein Versuch, außer 0 und 1 zurückzugeben. Danke! – Amir

+1

Haben Sie schon von 'True' und' False' gehört? https://docs.python.org/2/library/types.html#types.BooleanType –

+1

Ich denke, er hat wahrscheinlich, aber die Frage fragt explizit nach 0 und 1. Vielleicht ist Ihr Kommentar besser auf die Frage Autor gerichtet. –

Verwandte Themen