ipstack 兼容替换

ipstack 的标准查询和 check 端点都在 ipstack.mygeocode.com 上响应,顶层字段和 location 对象完全相同,并且所有套餐都支持 HTTPS。

只需更换一个主机名

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

为什么用户选择迁移

ipstack 的免费套餐仅支持 HTTP,且上限为每月 100 次。在这里,每个密钥每天通过 HTTPS 获得 2,500 次请求。

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

查看价格 免费获取密钥

端点

ipstack.mygeocode.com 上的路径功能底层服务
/{ip}标准查询IPv4 查询
/check查询调用方IPv4 查询
/{ip},{ip},{ip}批量查询IPv4 查询

响应示例

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

来自 ipstack.mygeocode.com 的响应
{
  "ip": "8.8.8.8",
  "type": "ipv4",
  "continent_code": "NA",
  "continent_name": "North America",
  "country_code": "US",
  "country_name": "United States",
  "region_code": "CA",
  "region_name": "California",
  "city": "Mountain View",
  "zip": "94043",
  "latitude": 37.4056,
  "longitude": -122.0775,
  "location": {
    "geoname_id": 5375480,
    "capital": "Washington D.C.",
    "languages": [ { "code": "en", "name": "English", "native": "English" } ],
    "country_flag": "https://www.mygeocode.com/assets/img/flags/us.svg",
    "country_flag_emoji": "🇺🇸",
    "country_flag_emoji_unicode": "U+1F1FA U+1F1F8",
    "calling_code": "1",
    "is_eu": false
  }
}

细节与差异

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

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

  • time_zone 信息块已填充:id、当前当地时间、偏移、缩写以及是否处于夏令时。
  • 缺少密钥时返回错误 101 missing_access_key,密钥错误时返回 101 invalid_access_key
  • region_code 在美国、加拿大和澳大利亚为简短代码;其他地方的数据集只有全称。
  • 与 ipstack 一样,批量查询最多接受 50 个以逗号分隔的地址(超出则返回 302 too_many_ips),并且与 ipstack 的计数方式一样,每个地址计为一个请求。
  • 需要我们尚未获得授权的数据集的字段(geoname id、首都、语言、国际电话区号)会存在,但值为 null。

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

其他兼容替换主机

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