Python中如何使用自带socket库获取本机IP地址
小编给大家分享一下Python中如何使用自带socket库获取本机IP地址,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、重庆小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了冷水江免费建站欢迎大家使用!
使用自带socket库
获取的是局域网IP。
import socket # 函数 gethostname() 返回当前正在执行 Python 的系统主机名 res = socket.gethostbyname(socket.gethostname()) print(res)
但是上面这个获取的不是公网IP,结果也不稳定(这里获取了虚拟机下的IP),不建议使用。

如果计算机设备有连接到 Internet 的路由,可以使用:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("8.8.8.8", 80))
print(s.getsockname()[0])这个获得的是局域网IP:

可以ipconfig看一下:

另一个适用于所有接口。它还适用于所有公共、私有、外部 IP。这种方法在 Linux、Windows 和 OSX 上很有效。
import socket
def 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 IP
print(extract_ip())注意:如果本身局域网IP就是公网IP的话,那这个获得的,可以认为是公网IP了。
以上是“Python中如何使用自带socket库获取本机IP地址”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!
当前名称:Python中如何使用自带socket库获取本机IP地址
标题网址:http://www.jxjierui.cn/article/gpiihg.html


咨询
建站咨询
