Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python 获取本机ip

作者:——嘘丶低调   发布日期:2025-03-24   浏览:83

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())

解释说明:

  1. 创建UDP套接字:使用 socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 创建一个UDP套接字。
  2. 连接到公共IP:通过 sock.connect(("8.8.8.8", 80)) 连接到一个公共的IP地址(如Google的DNS服务器8.8.8.8)和端口80。这一步不会真正发送数据,只是为了获取本地IP地址。
  3. 获取本地IP地址:使用 sock.getsockname()[0] 获取与该套接字关联的本地IP地址。
  4. 关闭套接字:确保在操作完成后关闭套接字以释放资源。
  5. 返回结果:最后返回获取到的本地IP地址。

这个方法可以适用于大多数情况,但在某些网络配置下(如使用虚拟网络或特殊防火墙设置),可能需要其他方法来获取正确的IP地址。

上一篇:python布尔类型

下一篇:bin函数的用法python

大家都在看

python时间格式

python ord和chr

python中的yield

python list.pop

python的for i in range

npm config set python

python代码简单

python读取文件夹

python中turtle

python 输出时间

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站