Python如何获取本机IP地址?Python获取本机IP地址的几种方法

在我们的电脑中,都分配了一个ip地址,它是为互联网上的每一个网络和主机相连所分配的一个逻辑地址,这样可以对物理地址进行屏蔽,我们可以手动进行对ip地址的查看和获取,那么利用Python如何获取ip地址呢,这篇文章主要介绍了分享Python获取本机IP地址的几种方法,分享了使用使用专业的网站、利用Python中自带的库、使用第三方netifaces库等方式,需要的小伙伴可以参考一下 。

Python如何获取本机IP地址?Python获取本机IP地址的几种方法


1、使用专业的网站,进行ip获取
我们可以在网上找到一个专用的网站获取ip,利用这个方法获取的ip是一个公网ip 。使用代码:
import requestsr = requests.get('http://myip.ipip.net', timeout=6).textprint(r)使用这个网址,就可以对自己的ip地址进行获取了,同时也可以利用这个网址在命令行窗口中进行使用,在命令行中输入:
curl http:// myip.ipip.net2、利用Python中自带的库
Python中自带了许多的库,其中就有对ip操作的库,我们可以使用socket库来对本机的ip地址进行获取,不过,它获取到的ip地址是一个局域网 。代码如下:
import socketr = socket.gethostbyname(socket.gethostname())print(r)在代码中,我们使用了一个函数 gethostname() ,它是可以对一个正在执行的Python系统主机名进行返回,这种方法它获取的不是一个公网的ip,对于返回的结果不够稳定,一般不建议使用 。
3、使用第三方库
Python中还有一个库可以对ip地址进行获取,获取到的ip是一个局域网ip, netifaces 模块主要是用于提供有关网络接口及其状态的信息 。使用它之前,我们需要对它进行安装,安装命令如下:
pip3 install netifaces安装好之后,就可以使用代码对ip地址进行获取了,代码如下:
from netifaces import interfaces, ifaddresses, AF_INETfor name in interfaces():    addresses = [i['addr'] for i in ifaddresses(name).setdefault(AF_INET, [{'addr':'No IP '}] )]print(' '.join(addresses))【Python如何获取本机IP地址?Python获取本机IP地址的几种方法】到此这篇关于分享Python如何获取本机IP地址?Python获取本机IP地址的几种方法的文章就介绍到这了,更多相关Python获取本机IP方法内容可以继续关注进行学习 。

    猜你喜欢