查询公网 IP 接口(ip.query):一行命令拿到出口 IP

这个接口能解决什么问题

在前后端分离、容器化、多级代理(Nginx、SLB、CDN)普遍存在的今天,一台机器「以为」的 IP 往往不是它真正的公网出口 IP。当你需要给合作方提供白名单、排查为什么某个出口被限流、或者验证爬虫 / 采集服务的出口是否干净时,一个能返回真实公网 IP 的接口就非常有用。

一句话说明

ip.query 在反向代理之后也能正确取 IP:服务端按 X-Forwarded-For → X-Real-IP → Proxy-Client-IP → WL-Proxy-Client-IP → remoteAddr 的顺序取第一个有效值,多级代理取逗号分隔的第一段。

适用场景

  • 出口 IP 探测:确认本机 / 本服务的真实公网出口地址
  • 代理与 NAT 环境验证:判断请求是否走了预期的网络链路
  • 服务端白名单自检:校验自己是否在对方放行的 IP 列表中
  • 爬虫 / 采集出口核对:确认对外出口是否稳定、是否被列入黑名单

接口规格

接口规格
请求地址https://api.xujian.tech/openapi/ip/query
请求方式GET
鉴权方式请求头 X-API-Key(不做签名与加密)
接口编码ip.query
收费类型免费(FREE,0 元,不扣费、不消耗余额)
响应格式JSON,application/json(charset=UTF-8)
典型用途出口 IP 探测、代理 / NAT 环境验证、白名单自检

如何调用

该接口没有业务参数,只需要请求头里的 X-API-Key。把「你的APIKey」换成控制台获取的密钥即可:

cURL
curl -s "https://api.xujian.tech/openapi/ip/query" -H "X-API-Key: 你的APIKey"

返回示例(code = 0)

JSON
{
  "code": 0,
  "msg": "success",
  "data": {
    "ip": "113.248.xx.xx",
    "apiCode": "ip.query",
    "apiName": "查询自己的公网IP",
    "chargeType": "FREE",
    "balance": 100.0000,
    "costMs": 12
  }
}

计费说明

完全免费。该接口不扣费、不消耗账户余额,有可用的 X-API-Key 即可调用,适合作为接入前的「连通性自检」第一步。

常见问题

  • 返回的 IP 和我在服务器上 ifconfig 看到的不一样? 正常。ifconfig 看到的是内网 / 网卡 IP,而 ip.query 返回的是经过运营商与代理后的公网出口 IP。
  • 需要签名吗? 不需要,XAPI 的接口仅校验请求头 X-API-Key。
  • 频繁调用会被限流吗? 接口成功率 99.99%、平均约 12ms,正常调用无需担心;如做大规模探测请做好并发与重试控制。

相关接口

相关文章

同一分类或近期发布的更多内容。

扫码添加微信
联系作者 · 微信二维码

微信号:xujian_cq

接口对接、充值 / 授权、定制需求都可以直接聊