Get IP address from Hostname in Python

Python has a built-in function to convert hostname to IP addresses without having to external program. It is provided by the socket module and you can get IP address from hostname in Python with this example;

  1. Launch your favourite Python shell.
    $ ipython
    Python 3.7.0 (default, Jun 29 2018, 20:13:13)
    Type 'copyright', 'credits' or 'license' for more information
    IPython 6.5.0 -- An enhanced Interactive Python. Type '?' for help.
  2. Import socket.
    In [1]: import socket
  3. Call socket.gethostbyname with hostname that you wish to resolve to IP address as parameter .
    In [2]: socket.gethostbyname('www.google.com')
    Out[2]: '216.58.203.68'
  4. Create a Python script that accepts hostname as parameter and outputs IP address such as the following.
    hostnametoip.py
    #!/usr/bin/env python3
     
    import socket
    import sys
     
    hostname = sys.argv[1]
    ip = socket.gethostbyname(hostname)
     
    print('Hostname: ', hostname, '\n' 'IP: ', ip)
  5. Run the script from the command line with hostname as parameter to test.
    $ python3 hostnametoip.py 'www.google.com'
    Hostname:  www.google.com
    IP:  216.58.203.68

Sign up for Complete Python Bootcamp: Go from zero to hero in Python 3 and many other great courses on Udemy to learn more.

Complete Python Bootcamp: Go from zero to hero in Python 3

Learn Python like a Professional! Start from the basics and go all the way to creating your own applications and games!

Written by Mohd Shakir Zakaria.

Last updated on 2019-03-26.