python获取当前主机ip,python查看ip地址
本文主要介绍了几种共享Python获取本地IP地址的方法,并分享了使用专用网站、使用自己的socket库、使用第三方netifaces库等方法。供你参考。
00-1010 1.使用专门的网站。使用自己的套接字库3。使用第三方netifaces库。
目录
获取公共IP。
网址:http://myip.ipip.net
代码:
导入请求
RES=requests . get( http://MIP . ipip . net ,timeout=5)。文本
打印(分辨率)
比较喜欢用这个,在命令窗口也能使用:
科尔http://myip.ipip.net
1、使用专用网站
获取局域网IP。
导入插座
#函数gethostname()返回当前执行Python的系统的主机名。
RES=socket . gethostbyname(socket . gethostname())
打印(分辨率)
但是上面那个没有获取公有IP,结果不稳定(这里获取的是虚拟机下的IP),不建议使用。
如果计算机设备有连接到 Internet 的路由,可以使用:
导入插座
s=socket.socket(socket。AF_INET,socket。SOCK_DGRAM)
s.connect((8.8.8.8 ,80))
print(s.getsockname()[0])
这个获得的是局域网IP:
可以ipconfig看一下:
另一个适用于所有接口。它也适用于所有公共、私有和外部知识产权。这种方法在Linux、Windows和OS X上运行良好。
导入插座
def提取_ip():
st=socket.socket(socket。AF_INET,socket。SOCK_DGRAM)
尝试:
st.connect((10.255.255.255 ,1))
IP=st.getsockname()[0]
除了例外:
IP=127.0.0.1
最后:
圣克洛斯()
返回IP
打印(extract_ip())
如果注意:的局域网IP本身就是公网IP,那么获得的IP可以认为是公网IP。
2、使用自带socket库
获取局域网IP。
netifaces模块用于提供有关网络接口及其状态的信息。
代码:
如果没有,请先安装库。
pip3安装netifaces
然后使用:
从netifaces导入接口,ifaddresses,AF_INET
对于接口()中的ifaceName :
I addresses(ifaceName)中I的addresses=[i[addr]。setdefault(AF_INET,[{addr:No IP addr}] )]
打印()。加入(地址))
关于分享Python获取原生IP地址的方法的这篇文章到此结束。更多关于Python获取原生IP的方法,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。