api 获取本机ip

Python中可用requests调用公网API或

获取本机IP地址的API方法详解

获取本机IP地址的常见方式

方法类型 适用场景 特点描述
系统API调用 需要精确控制网络配置的场景 直接访问底层网络接口
编程语言标准库 快速开发跨平台应用 封装度高,调用简单
第三方网络服务 需要获取公网IP或绕过NAT的场景 依赖外部服务,存在隐私风险

操作系统级API获取方法

Windows系统

import socket
def get_windows_ip():
    hostname = socket.gethostname()
    ip = socket.gethostbyname(hostname)
    return ip
print(get_windows_ip())

Linux/macOS系统

# 通过系统命令获取
ifconfig | grep "inet " | grep -v 127.0.0.1 | awk '{print $2}'

跨平台通用方法

import socket
def get_local_ip():
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    try:
        # 连接Google公共DNS服务器(不实际发送数据)
        s.connect(("8.8.8.8", 80))
        ip = s.getsockname()[0]
    except Exception:
        ip = "127.0.0.1"
    finally:
        s.close()
    return ip
print(get_local_ip())

编程语言实现对比

语言 核心API 获取方式说明
Python socket模块 创建UDP连接获取本地socket地址
Java InetAddress类 通过InetAddress.getLocalHost()
Go net包 使用InterfaceAddrs()遍历网卡
C# System.Net命名空间 通过Dns.GetHostEntry获取

注意事项

  1. 多网卡环境:服务器/虚拟机可能存在多个IP地址,需指定网络接口(如eth0、wlan0)
  2. NAT环境:内网设备获取的IP通常是私有地址(如192.168.x.x),非公网IP
  3. 权限要求:部分系统API需要管理员权限才能访问完整网络信息
  4. IPv6支持:现代系统需同时处理IPv4和IPv6地址格式

相关问题与解答

Q1:如何区分内网IP和公网IP?

api 获取本机ip

  • 解答:内网IP范围包括:
    • 0.0.0~10.255.255.255
    • 16.0.0~172.31.255.255
    • 168.0.0~192.168.255.255
      公网IP需要通过STUN服务器或公网API验证,示例:

      import requests

def get_public_ip():
response = requests.get(“https://api.ipify.org?format=json”)
return response.json().get(“ip”)

api 获取本机ip


**Q2:获取的IP地址包含端口号怎么办?**
**解答**:当使用`s.getsockname()`时,返回的是`(ip, port)`元组,需提取第一个元素。
```python
ip, port = s.getsockname()
local_ip = ip

以上就是关于“api 获取本机ip”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!

api 获取本机ip

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

赞 (0)
爱国的头像爱国
api 立体绘图 软件
上一篇 2025-05-10 07:39
服务器搭建高可用
下一篇 2025-05-10 07:45

相关推荐

  • 负载均衡主备机制详解,如何实现高效稳定的系统运行?

    负载均衡(Load Balancing)是现代计算领域中的一项关键技术,旨在优化资源使用、最大化吞吐率、最小化响应时间,并避免单点故障,本文将详细介绍负载均衡的分类、技术原理、常见实现算法及常用方案,并重点阐述如何通过Keepalived和Nginx实现高可用性负载均衡,以及确保session一致性的方法,一……

    2024-11-27
    0015
  • 如何在服务器上配置Caffe环境?

    配置服务器上的Caffe环境是一个多步骤的过程,涉及安装必要的依赖项、下载和编译Caffe源码,以及设置相关的环境变量,以下是一个详细的指南,包括在Linux系统上配置Caffe环境的步骤: 安装必要的依赖项在开始之前,确保你的系统是最新的,并且安装了所有必要的开发工具和库,对于Ubuntu系统,可以使用以下命……

    2024-11-29
    0016
  • 真正永久免费的云虚拟主机哪里有,稳定靠谱值得推荐吗?

    在数字化浪潮席卷全球的今天,无论是个人开发者、学生还是初创企业,都渴望拥有一个属于自己的线上空间——一个可以展示作品、测试想法或运行小型应用的网站,云虚拟主机作为承载这一切的基础设施,其成本往往是许多人首先考虑的因素,幸运的是,市场上确实存在一些优秀的免费云虚拟主机方案,它们为学习、实验和轻量级项目提供了宝贵的……

    2025-10-25
    0021
  • ARM Linux入门与实践

    《ARM Linux入门与实践》是一本基于作者自学笔记和硬件平台经验的书籍,适合初学者通过实验学习嵌入式Linux开发。

    2025-04-29
    0010

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信