ipinfo.io 兼容替换

ipinfo 的紧凑 JSON(包含 loc 字符串和以 AS 号为前缀的 org 字符串)在 ipinfo.mygeocode.com 上被完整重现。官方 ipinfo 客户端库支持自定义基础 URL,因此同样可以使用。

只需更换一个主机名

原始主机
  • ipinfo.io
改用ipinfo.mygeocode.com
密钥参数token(可选:任何地址不使用密钥每天也有 2,500 次请求;如需使用额度、套餐和使用记录,请在此填入您的 My Geocode 密钥)
之前
curl "https://ipinfo.io/8.8.8.8/json?token=YOUR_IPINFO_TOKEN"
之后
curl "https://ipinfo.mygeocode.com/8.8.8.8/json?token=YOUR_MYGEOCODE_KEY"

为什么用户选择迁移

ipinfo 的免费套餐为每月 50,000 次,且部分字段不含地理定位详情。在这里,每个密钥每天有 2,500 次请求并返回完整字段,付费使用可按请求计费或固定价格。

无论是否使用密钥,免费配额都相同。发往 ipinfo.mygeocode.com 的请求,与您的地址或密钥在我们自有端点上获得的每天 2,500 次免费请求合并计算。超出后,使用预付额度按每次请求 €0.0001 计费,或使用 Unlimited 密钥每月 €50。注册只需一个电子邮件地址,别无其他。

查看价格 免费获取密钥

端点

ipinfo.mygeocode.com 上的路径功能底层服务
/{ip}/json按地址查询IPv4 查询
/{ip}按地址查询(响应相同)IPv4 查询
/json查询调用方IPv4 查询
/{ip}/{field}单个字段,纯文本(city、country、loc、org、timezone)IPv4 查询

响应示例

这是上述请求返回的内容。字段名、嵌套和类型与 ipinfo 一致。只有背后的数据来自我们。

来自 ipinfo.mygeocode.com 的响应
{
  "ip": "8.8.8.8",
  "hostname": "dns.google",
  "city": "Mountain View",
  "region": "California",
  "country": "US",
  "loc": "37.4056,-122.0775",
  "org": "AS15169 Google LLC",
  "postal": "94043",
  "timezone": "America/Los_Angeles"
}

细节与差异

每天前 2,500 次请求无需密钥。如需使用 My Geocode 密钥,请将其放在原来 ipinfo.io 密钥的位置:token 查询参数、Bearer 令牌,或像 ipinfo 自己的示例那样使用 curl -u YOUR_KEY:X-API-Key 请求头、Authorization: Bearer 和 HTTP Basic 认证(以密钥作为用户名)也适用于每个主机,因此以自有方式进行认证的客户端库无需任何修改即可继续工作。

响应只包含 ipinfo.io 返回的字段,别无其他,因此可以直接用于已经在解析 ipinfo.io 的代码。我们的附加数据(地面海拔、威胁和网络详情)可按需获取:在查询中添加 mg_extras=1 或发送 X-MG-Extras: 1

  • hostname 来自反向 DNS 查询,当地址没有 PTR 记录时会被省略,与 ipinfo 的做法完全相同。
  • 当地址为任播地址时会出现 anycast,保留地址段则返回 bogon
  • 无效地址返回 404,正文为 ipinfo 的 "Wrong ip"。
  • readme 字段永远不会出现,因为这里的每个请求都经过认证。
  • 单字段端点(/8.8.8.8/city 等)返回纯文本。
  • POST /batch 的工作方式与 ipinfo 相同:一个最多包含 1,000 个地址、address/field 路径或完整 URL 的 JSON 数组,会返回一个以每个条目为键的对象,filter=1 会去掉空条目,并且与 ipinfo 的计数方式一样,每个条目计为一次查询。如果批量请求超过当天剩余的配额,将以 ipinfo 的 429 整体拒绝,而不是部分响应。

如果您的客户端依赖于此处未列出的字段或行为,请告诉我们。兼容性缺口通常很小,因此会很快修复。

其他兼容替换主机

兼容替换的工作原理概览以及 JavaScript 库兼容替换