python hostname

python: comprueba si un nombre de host está resuelto



hostname (1)

¿Cómo puedo tener una función en python que devuelve 1 si el nombre de host se resuelve y 0 si no lo hace un hostname?

No pude encontrar nada útil, algún pensamiento?

Gracias,


Puedes usar socket.gethostbyname() para esto:

>>> 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

Su función podría verse así:

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

Ejemplo:

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