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

python获取本机ip

作者:孤独的角落   发布日期:2026-03-23   浏览:42

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]
        return local_ip
    except Exception as e:
        print(f"获取IP地址时出错: {e}")
        return None
    finally:
        # 关闭套接字
        sock.close()

# 调用函数并打印结果
local_ip = get_local_ip()
if local_ip:
    print(f"本机IP地址是: {local_ip}")
else:
    print("无法获取本机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),这一步不会实际发送数据,只是为了获取本机的IP地址。
  3. 获取本地IP地址:使用 sock.getsockname()[0] 获取本机的IP地址。
  4. 关闭套接字:在 finally 块中确保套接字被关闭,避免资源泄漏。
  5. 处理异常:如果在获取IP地址时发生异常,捕获并打印错误信息。

这段代码可以获取本机的IPv4地址。

上一篇:python group()函数

下一篇:python range 倒序

大家都在看

python 二维码识别

python excel 库

python时间格式

pythoneval函数用法

列表切片操作python

python读取文件路径

staticmethod在python中有

python 保存json文件

python开发windows应用程序

python中len是什么意思

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

Laravel 中文站