📅  最后修改于: 2023-12-03 14:57:13.220000             🧑  作者: Mango
在Python中,我们可以使用几种方法获取本机IP地址,下面将逐一介绍这些方法。
我们可以使用Python自带的 socket
模块来获取本机IP地址。使用该方法时,需要导入 socket
模块,然后调用 socket.gethostbyname(socket.gethostname())
方法即可获取本机IP地址。
import socket
ip_address = socket.gethostbyname(socket.gethostname())
print("本机IP地址为:", ip_address)
该方法的缺点是在某些情况下会返回不正确的IP地址,比如当机器名没有正确设置时可能会出错。
在Python中,我们也可以使用第三方模块 netifaces
来获取本机IP地址。使用该方法时,需要先安装该模块,可以使用 pip install netifaces
命令来安装。
import netifaces as ni
ni.ifaddresses('eth0')
ip_address = ni.ifaddresses('eth0')[ni.AF_INET][0]['addr']
print("本机IP地址为:", ip_address)
注意:上述代码中的
eth0
指的是本机网卡的名称,可以根据实际情况修改。
除了以上两种方法外,我们还可以使用第三方模块requests
以及调用外部API的方式获取本机IP地址。使用该方法时,需要先安装 requests
模块,可以使用 pip install requests
命令来安装。
import requests
ip_address = requests.get('https://api.ipify.org').text
print("本机IP地址为:", ip_address)
这种方法的优点是可以获得真实的IP地址,但缺点是需要联网。
以上三种方法都可以有效获取本机IP地址。