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 等依賴。