python: check if a hostname is resolved python: check if a hostname is resolved python python

python: check if a hostname is resolved


You can use socket.gethostbyname() for this:

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

Your function might look like this:

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

Example:

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