如何获取本地IP地址python?

Posted

技术标签:

【中文标题】如何获取本地IP地址python?【英文标题】:How to get local ip address python? 【发布时间】:2021-01-28 14:22:22 【问题描述】:

我在互联网上找到了一段代码,它为我的机器提供了本地网络 IP 地址:

hostname = socket.gethostname()
local_ip = socket.gethostbyname(hostname)

但它返回的 IP 是 192.168.94.2 但我在 WIFI 网络中的 IP 地址实际上是 192.168.1.107 如何仅使用 python 获取 wifi 网络本地 IP 地址? 我希望它适用于 windows、linux 和 macos。

【问题讨论】:

这能回答你的问题吗? Finding local IP addresses using Python's stdlib 不,其实我也试过了,但它也给了我错误的IP地址。 【参考方案1】:

您可以使用此代码:

import socket
hostname = socket.getfqdn()
print("IP Address:",socket.gethostbyname_ex(hostname)[2][1])

或者这样获取公网ip:

import requests
import json
print(json.loads(requests.get("https://ip.seeip.org/jsonip?").text)["ip"])

【讨论】:

这是有效的。谢谢

以上是关于如何获取本地IP地址python?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 linux 上的 python 脚本获取我的本地 IP 地址? [复制]

python获取本地ip的方法

Python中本地网络的IP地址/主机名列表

python获取本地IP地址发送邮件

Python获取当前主机(本地计算机)IP地址

Python获取当前主机(本地计算机)IP地址