import socket
def get_local_ip():
# 创建一个UDP套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try:
# 连接到一个公共的IP地址和端口(不会实际发送数据)
sock.connect(("8.8.8.8", 80))
# 获取本地IP地址
local_ip = sock.getsockname()[0]
finally:
# 关闭套接字
sock.close()
return local_ip
# 调用函数并打印结果
print("本机IP地址:", get_local_ip())
socket.socket()
创建一个UDP套接字,用于获取网络接口信息。sock.connect(("8.8.8.8", 80))
连接到Google的公共DNS服务器(8.8.8.8),这样可以确保我们获取的是外网接口的IP地址,而不是回环地址(如127.0.0.1)。sock.getsockname()[0]
获取当前机器的本地IP地址。这个方法适用于大多数情况,但如果机器有多个网络接口或虚拟网络配置复杂,可能需要更复杂的逻辑来确定正确的IP地址。
上一篇:pythonzip函数用法
下一篇:线上python运行器
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站