API 文档
轻湖IP归属地查询提供两个 JSON 端点:一个查询你指定的 IP,另一个解析调用者自己的地址。两者返回同一信封与同一组归属地字段。
查询指定 IP
向 POST /api/ip/lookup 发送只含 ip 字段的 JSON。后端使用 Go 的 netip 解析器校验地址。
POST /api/ip/lookup
curl -s https://ipregion.litelake.cn/api/ip/lookup \
-H "Content-Type: application/json" \
-d '{"ip":"8.8.8.8"}'200
{
"code": 200,
"message": "success",
"data": {
"ip": "8.8.8.8",
"country": "美国",
"country_code": "US",
"province": "加利福尼亚州",
"province_code": "US-CA",
"city": "山景城",
"isp": "Google LLC",
"latitude": 37.3889,
"longitude": -122.0835,
"timezone": "America/Los_Angeles"
}
}查询我的 IP
GET /api/ip/myip 解析调用者自己的地址。服务端使用网关传入的客户端 IP,因此结果是边缘看到的公网地址。
GET /api/ip/myip
curl -s https://ipregion.litelake.cn/api/ip/myip查询结果
API 返回稳定的 code / message / data 信封,字段与查询页展示完全一致。
错误码
错误沿用同一信封:code、message 与可选 data。业务错误的 HTTP 状态仍为 200,语义由 code 表达。
| code | 错误码 |
|---|---|
| 200 | 查询成功。 |
| 400 | 缺少或无效的 ip,或地址无法解析。 |
| 404 | 没有找到该地址的归属地。 |
| 503 | 数据集加载中或不可用,请稍后重试。 |
数据来源
查询聚合 ip2region(v4/v6)与 MaxMind GeoLite2 City / ASN;数据文件按计划刷新并原地重载。
API Key
日常浏览器与脚本使用无需 Key。高用量集成可向团队申请 Key;Key 受限流约束,公开查询页永远不需要 Key。
健康检查
GET /api/health 报告进程存活;GET /api/ready 还会检查 Redis 等依赖。