我的IP地址

- 如需查看您的真实IP地址信息, 请点击查看
macOS, Linux, OpenWRT, Raspberry Pi, BSD
curl ipin.io

标准 curl 命令适用于大多数 Unix 类系统。获取JSON格式:

curl ipin.io/json
Android(Termux)
curl --ipv4 ipin.io

在Termux中强制使用IPv4。带超时可选:

curl --connect-timeout 5 ipin.io
Windows PowerShell
(Invoke-WebRequest -Uri "http://ipin.io").Content

简化版 PowerShell 命令。获取JSON格式:

(Invoke-WebRequest -Uri "http://ipin.io/json").Content | ConvertFrom-Json
iOS(iSH 终端)
wget -qO- ipin.io

安静模式(-q)并输出到stdout(-O-)。Alpine Linux(iSH基础):

apk add curl && curl ipin.io
OpenWRT 路由器
wget -qO- --timeout=10 ipin.io

推荐用于资源受限设备。如无 wget

opkg install wget-ssl
Docker 容器
curl --max-time 5 ipin.io

极简容器如无curl可用:

docker run --rm alpine wget -qO- ipin.io
浏览器 JavaScript
fetch('https://ipin.io/get_client_ip')
  .then(r => r.ok ? r.json() : Promise.reject('API错误'))
  .then(data => console.log('IP:', data.ip))
  .catch(e => console.error('错误:', e))

基础实现并带有错误处理。实际生产建议:

  • 用AbortController添加超时处理
  • 跨域请求时需注意CORS要求
  • 缓存结果以避免频繁访问受限

注意:

浏览器API因代理/VPN等可能返回与服务器不同的IP。Web应用中建议用服务端检测获取真实IP。

IP查询工具详细介绍

本工具是一套完整的跨平台公网IP查询解决方案,专为开发者和系统管理员设计,可在各种复杂网络环境下准确获取设备的公网IP地址信息。不同于传统IP查询服务,本方案针对不同操作系统和运行环境进行了深度优化,确保在各类特殊场景下都能稳定工作。

工具支持包括macOS/Linux终端、Windows PowerShell、Android Termux终端、iOS iSH终端应用、OpenWRT路由器系统以及Docker容器环境在内的多种平台。每个平台都提供了经过验证的最佳实践命令,考虑了各平台的网络栈实现差异、默认工具链特性以及典型配置限制。

特别值得一提的是,我们还提供了完整的浏览器端JavaScript实现方案,基于现代fetch API设计,支持Promise异步调用,方便前端开发者直接集成到Web应用中。该方案已处理好跨域(CORS)问题,并包含完善的错误处理机制。

所有查询接口均支持IPv4和IPv6双栈协议,可根据网络环境自动选择最优查询方式。返回结果提供纯文本和JSON两种格式,JSON格式包含完整的IP相关信息,如地理位置、网络运营商等扩展数据。

详细使用指南

1. 环境适配命令

根据不同运行环境,我们推荐使用以下经过优化的命令:

  • 类Unix系统(macOS/Linux/BSD等):
    curl -s ipin.io

    curl工具简单高效,-s参数静默模式。建议加超时参数:--connect-timeout 3

  • Windows系统:
    (Invoke-WebRequest -Uri "http://ipin.io" -UseBasicParsing).Content

    PowerShell原生命令,老系统可用:(New-Object Net.WebClient).DownloadString("http://ipin.io")

  • 移动设备:
    # Android Termux
    curl --ipv4 --silent ipin.io
    
    # iOS iSH
    wget -qO- --no-check-certificate ipin.io

    Android强制IPv4避免双栈问题,iOS需跳过证书校验。建议增加重试逻辑提高稳定性。

2. 高级使用技巧

  • JSON格式输出:

    命令URL后加/json获取结构化数据:

    curl ipin.io/get_client_ip

    返回示例:

    {"ip": "203.0.113.45"}
  • 网络调试技巧:

    复杂网络环境下建议如下参数组合:

    curl --retry 2 --connect-timeout 5 --max-time 10 ipin.io

    命令5秒内建立连接,最多重试2次,总请求不超10秒。