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(socket.AF_INET, socket.SOCK_DGRAM)
创建一个UDP套接字。sock.connect(("8.8.8.8", 80))
连接到一个公共的IP地址(如Google的DNS服务器8.8.8.8)和端口80。这一步不会真正发送数据,只是为了获取本地IP地址。sock.getsockname()[0]
获取与该套接字关联的本地IP地址。这个方法可以适用于大多数情况,但在某些网络配置下(如使用虚拟网络或特殊防火墙设置),可能需要其他方法来获取正确的IP地址。
上一篇:python布尔类型
下一篇:bin函数的用法python
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站