Get the App
SLTechnology News&Howtos  ›  Development  › 

How to obtain native IP address by using built-in socket library in Python

Shulou Source: shulou.com Published: 2022-06-01 03:10:17 10月12日 Update

Editor to share with you how to use the built-in socket library to obtain native IP addresses in Python. I believe most people don't know much about it, so share this article for your reference. I hope you will learn a lot after reading this article. Let's learn about it together.

Use the built-in socket library

What is obtained is the LAN IP.

The import socket# function gethostname () returns the system hostname res = socket.gethostbyname (socket.gethostname ()) print (res) that is currently executing Python.

However, the above IP is not obtained from the public network, and the result is unstable (here the IP under the virtual machine is obtained), so it is not recommended to use it.

If the computer device has a route to the Internet, you can use:

Import sockets = socket.socket (socket.AF_INET, socket.SOCK_DGRAM) s.connect (("8.8.8.8", 80)) print (s.getsockname () [0])

This is the local area network IP:

You can take a look at ipconfig:

The other applies to all interfaces. It also applies to all public, private, and external IP. This method works well on Linux, Windows, and OSX.

Import socketdef extract_ip (): st = socket.socket (socket.AF_INET, socket.SOCK_DGRAM) try: st.connect (('10.255.255.255, 1)) IP = st.getsockname () [0] except Exception: IP =' 127.0.0.1 'finally: st.close () return IPprint (extract_ip ())

Note: if the local area network IP is the public network IP, then this acquisition can be considered as the public network IP.

The above is all the contents of the article "how to use the built-in socket library to get native IP addresses in Python". Thank you for reading! I believe we all have a certain understanding, hope to share the content to help you, if you want to learn more knowledge, welcome to follow the industry information channel!

Tags: Local area local area network article public network address local machine content valid not so host function most that is suggestion interface method more being knowledge system Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Microsoft Linux macOS Huawei MariaDB