/api/ip 的 IP 查询 API 指南

使用本指南向 /api/ip 发送单个 IP 查询请求,了解返回的 JSON 字段,并在需要更多上下文时转到实时浏览器工作流。

请保持范围客观:/api/ip 是一次仅处理一个公网 IP 的查询辅助接口。它不是批量、认证型或带 SLA 承诺的 API 产品。

适用场景
您需要单个公网 IP 查询的 JSON 输出,并且在自动化 fetch 或 CLI 调用前需要准确的请求模式。
当前接口约定
/api/ip 需要 ip 查询参数,并且每次为一个公网 IP 返回 JSON 所有权上下文。
护栏
无效、私有或保留输入会返回错误 JSON。此接口不承诺批量查询、身份验证或可用性保证。
请求与响应示例
浏览器 fetch 示例
当前端或调试脚本需要与浏览器查询相同的 ASN 和网络上下文时,请使用简单的 GET 请求。
fetch("/api/ip?ip=8.8.8.8")
  .then((response) => response.json())
  .then((data) => console.log(data));
CLI curl 示例
当您需要 JSON 而不是纯文本的 /ip 终端快捷方式时,请显式传递 ip 查询参数。
curl https://comutil.com/api/ip?ip=8.8.8.8
响应字段示例
实时端点会返回顶层 ASN 元数据,以及一个来自当前 RDAP 和 WHOIS 查询流程的嵌套 network 对象。
{
  "asn_registry": "arin",
  "asn": "15169",
  "asn_cidr": "8.8.8.0/24",
  "asn_country_code": "US",
  "asn_date": "1992-12-01",
  "asn_description": "GOOGLE, US",
  "network": {
    "name": "GOGL",
    "country": "US",
    "start_address": "8.8.8.0",
    "end_address": "8.8.8.255",
    "type": "DIRECT ALLOCATION",
    "status": "active",
    "links": []
  },
  "nir_postal_code": null,
  "nir_range": null,
  "address": "1600 Amphitheatre Parkway",
  "email_admin": "arin-contact@google.com",
  "email_tech": null
}
先看这些响应字段

在解读地址或联系信息前,先查看解释所有权和范围的字段。

  • asn_registry、asn 和 asn_description 会告诉您当前看到的是哪个注册机构和运营者。
  • network.start_address、network.end_address 和 network.status 会显示该分配的可见范围和生命周期上下文。
  • address、email_admin 和 email_tech 可用于升级记录,但它们是辅助细节,不是首要的分类信号。
错误边界

这些是实时端点当前的限制,因此请让您的自动化与之保持一致。

  • 缺少 ip 时会返回 {"error": "IP address is required."}。
  • 私有或保留地址会返回错误 JSON,而不是公网所有权数据。
  • 格式错误的输入会返回说明 IP 格式无效的错误 JSON。
何时离开 API 文档页面

先通过文档路由了解接口约定,然后在需要更丰富的调查上下文或可分享的查询页面时转到实时浏览器工作流。

  • 当您需要浏览器界面、分享 URL、地图和围绕同一次查询的调查摘要时,请打开 /ip。
  • 当您需要工作流层面的说明而不只是 JSON 字段时,请阅读 IP 和 ASN 指南。
  • 当问题扩展到域名所有权或 CIDR 范围时,请返回网络/安全中心。