Python

Python Get HostName

“An individual name or alias given to a computer or network knob in a network of computers is known as a hostname. It is mainly employed to distinguish among devices on a local area network. They are unambiguous identifiers or character sequences that refer directly to hosts and make them accessible to the web and users.

In Python, there seem to be numerous methods for determining a device’s hostname. Accessibility to the BSD socket crossing point is made possible via the Py “socket” package. It is accessible on all current Unix – like operating systems, as well as Windows, Mac OS X, BeOS, OS/2, as well as presumably more operating systems. You may consume the socket as well as its gethostname() method to obtain a device’s hostname. The hostname of a system on which the Python translator is now running is contained in the phrase returned by the gethostname() function. In this tutorial, we’ll learn how to use Python to discover the hostname of a Host in the Windows 10 operating system.”

Example 01

Let’s get started with a simple example of getting the hostname for a local computer using the socket programming in python. The socket package has to be loaded into the python script to fully utilize the gethostname() method. So, we have imported the “socket” module using the keyword “import” in the first line of the shown-below code. As we have mentioned above in the introductory paragraph that the Python socket package serves as a gateway to the BSD receiving point for programmers.

The socket package offers several operations and services related to developing complete network programs, including client and server programs. The hostname of the system under which the Python language Parser is now running is returned as a text by the gethostname() method.

The gethostname() operation is used in the aforementioned Python script to obtain the hostname. We have been calling the gethostname() function within the print statement via the socket module object. This is the simplest way of getting the local hostname in the Python code. Let’s save our code and run it within the Spyder tool to see what we have got in return. Write the appended code on the spyder screen.

import socket

print(socket.gethostname())

On execution of this simplest program, we have got the hostname of our local computer via the use of Spyder, in which we have been running this code right now, i.e., DESKTOP-UGKTJIL.

Example 02

Along with the Hostname of a local device, we can also find out its ip address using its gethostbyname() function in socket programming. So, within this example, we will be discussing the use of the gethostbyname() function along with the gethostname() function to fetch the hostname along with its ip address.

Thus, we have started this code with the import of the socket module and using the if-else statement to find out the hostname. The “If” statement has been using the gethostname() function to find out whether it contains “.” In its name or not. If so, it will be using the gethostname() function to get only the hostname and save the result within the HostName variable. Otherwise, it will simply call the gethostname() function within the gethostbyaddr() function to get the socket name without any fault and save it to the variable HostName.

After the use of the if-else statement, we have been consuming the print statement to display the Host name of our local computer via the use of the HostName variable in it. Along with that, we have been passing the HostName variable as an argument to the gethostbyname() function in the print statement to simply get and display the ip address of a specific host. Let’s just save this newly created python program and run it within the Spyder to see the results. Write the appended code on the spyder screen.

import socket

if socket.gethostname().find('.')>=0:

HostName=socket.gethostname()

else:

HostName=socket.gethostbyaddr(socket.gethostname())[0]

print(HostName)

print(socket.gethostbyname(HostName))

The output has been displaying the name of a Host, i.e., a local computer, along with its Ip address at the very next line shown in the image below.

Example 03

The platform component is a popular package for accessing platform metadata, much like the socket package. This data consists of host names, IP addresses, operating systems, and a great deal more. To obtain the computer’s hostname, you initially run the node() method after importing the platform. If it is accessible, the Node method returns the machine hostname.

Within this simplest example, we will be made using the platform package to get the Host name of our local system. So, we have started this code with the use of the “platform” package imported by the keyword “import”. Along with that, we have been using this platform package to call the node() function within the print statement to display the hostname. Write the appended code on the spyder screen.

import platform

print(platform.node())

After the execution of this program in Spyder, we got the local device name as a hostname on the Spyder console.

If you are unable to find out the hostname with all the mentioned above methods in socket programming, then you don’t need to worry. You just have to utilize the getfqdn() function of the socket module along with the known IP address of your local device. So, we have done it so far within the print statement to get the hostname of our system and display it on the console area of the Spyder tool. We must conceal the IP address in this app for security reasons. Write the appended code on the spyder screen.

import socket

print (socket.getfqdn("192.x.x.x"))

The output has been given as the hostname of our local device.

Conclusion

This article covers a clear demonstration of the use of different python functions to get the hostname in Spyder. We have discussed the use of the socket module along with its gethostname(), gethostbyname(), gethostbyaddr(), and getfqdn() function in the illustrations. Also, we have discussed the use of the platform() module along with its function node() to get the hostname.

About the author

Kalsoom Bibi

Hello, I am a freelance writer and usually write for Linux and other technology related content