Oct. 03, 2012

Socket examples in Python

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

Recommended Python Training – DataCamp

For Python training, our top recommendation is DataCamp.

Datacamp provides online interactive courses that combine interactive coding challenges with videos from top instructors in the field.

Datacamp has beginner to advanced Python training that programmers of all levels benefit from.

 



Read more about:
Disclosure of Material Connection: Some of the links in the post above are “affiliate links.” This means if you click on the link and purchase the item, I will receive an affiliate commission. Regardless, PythonForBeginners.com only recommend products or services that we try personally and believe will add value to our readers.