ip-api.com 兼容替换

ip-api 的 JSON 端点是被模仿最广泛的 IP 查询格式之一。ipapi.mygeocode.com 对 IPv4 和 IPv6 地址返回相同的字段名,而且免费密钥也支持 HTTPS,这是 ip-api 所不提供的。

只需更换一个主机名

原始主机
  • ip-api.com
  • pro.ip-api.com
改用ipapi.mygeocode.com
密钥参数key(可选:任何地址不使用密钥每天也有 2,500 次请求;如需使用额度、套餐和使用记录,请在此填入您的 My Geocode 密钥)
之前
curl "http://ip-api.com/json/8.8.8.8?fields=status,country,countryCode,city,lat,lon,timezone,isp,query"
之后
curl "https://ipapi.mygeocode.com/json/8.8.8.8?fields=status,country,countryCode,city,lat,lon,timezone,isp,query"

为什么用户选择迁移

ip-api 的免费端点仅支持 HTTP、仅限非商业用途,并且限制为每分钟 45 次请求。在这里使用 HTTPS,允许商业用途,任何地址在付费之前每天都有 2,500 次请求,无论是否使用密钥。

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

查看价格 免费获取密钥

端点

ipapi.mygeocode.com 上的路径功能底层服务
/json/{ip}按地址查询,IPv4 或 IPv6IPv4 查询
/json/查询调用方IPv4 查询
/batch (POST, JSON array)批量查询,最多 100 个IPv4 查询

响应示例

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

来自 ipapi.mygeocode.com 的响应
{
  "status": "success",
  "country": "United States",
  "countryCode": "US",
  "region": "CA",
  "regionName": "California",
  "city": "Mountain View",
  "zip": "94043",
  "lat": 37.4056,
  "lon": -122.0775,
  "timezone": "America/Los_Angeles",
  "isp": "Google LLC",
  "org": "Google Public DNS",
  "as": "AS15169 Google LLC",
  "query": "8.8.8.8"
}

细节与差异

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

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

  • 默认响应是 ip-api 自己的字段集,并保持其顺序。fields 接受字段名或数字位掩码,lang 可将国家和大洲名称翻译为 de、es、pt-BR、fr、ja、zh-CN 和 ru。
  • jsonxmlcsvline 格式都可以使用。
  • 与 ip-api 一样,无效地址返回 HTTP 200 和 status: fail;只有密钥和配额被拒绝时才会改变状态码。
  • 与 ip-api 一样,批量端点最多接受 100 个条目,每个条目可单独设置 fieldslang;其中每个地址计为一个请求。
  • 请求 reverse 即可解析该地址的主机名。
  • 美国、加拿大和澳大利亚的地区名称以简短代码返回;其他地方的数据集只有全称。

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

其他兼容替换主机

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