The socket module in Python provides access to the BSD socket interface.

This post will show examples on how to use the socket functions.

For more reading about the socket module and their functions, I recommmend the official documentation here.

Get the fqdn (fully qualified domain name)

print socket.getfqdn("8.8.8.8")
>>google-public-dns-a.google.com

Translate a host name to IPv4 address format

print socket.gethostbyname("www.python.org")
>>82.94.164.162

Translate a host name to IPv4 address format, extended interface

print socket.gethostbyname_ex("www.python.org")
>>('python.org', [], ['82.94.164.162'])

Returns the hostname of the machine..

print socket.gethostname()
>>Virtualbox123

Script

The script below, will return the IP address of the hostname given.

If it cannot find the hostname, it will print the error to screen using the exception handling "gaierror" (raised for address-related errors).
import socket
name = "wwaxww.python.org"
try:
    host = socket.gethostbyname(name)
    print host
except socket.gaierror, err:
    print "cannot resolve hostname: ", name, err
If you look in the name, I misspelled the address to let you see how the error message would look like

>>cannot resolve hostname: wwaxww.python.org [Errno -5] No address associated with hostname

And if I run it again with the correct spelling
import socket
name = "www.python.org"
try:
    host = socket.gethostbyname(name)
    print host
except socket.gaierror, err:
    print "cannot resolve hostname: ", name, err
>>82.94.164.162

Leave a Reply

Your email address will not be published. Required fields are marked *