调用地址
无需鉴权
支持 CORS
每 IP 每分钟 30 次;结果缓存 300 秒
在线调试
请求会发送到本站接口当前请求:https://api.blueworkshop.top/api/v1/ip-geo
请求参数
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
ip |
string | - | 要查询的 IP 地址;留空则查询调用方自己的 IP。 示例: 8.8.8.8 |
请求示例
cURL
curl "https://api.blueworkshop.top/api/v1/ip-geo?ip=8.8.8.8"
JavaScript
const res = await fetch("https://api.blueworkshop.top/api/v1/ip-geo?ip=8.8.8.8");
const data = await res.json();
console.log(data);响应示例
{
"ok": true,
"data": {
"ip": "8.8.8.8",
"success": true,
"type": "IPv4",
"country": "United States",
"country_code": "US",
"region": "California",
"city": "San Jose",
"latitude": 37.3393939,
"longitude": -121.8949553,
"timezone": {
"id": "America/Los_Angeles"
}
},
"meta": {
"endpoint": "ip-geo",
"cached": false
}
}
成功时返回 JSON 信封:ok 表示是否成功,data 为数据,meta.cached 表示是否命中本站缓存。图片类接口直接返回二进制图片。
错误响应
| HTTP | 错误码 | 说明 |
|---|---|---|
| 400 | missing_param / invalid_param | 缺少参数或参数格式不正确,响应会带上出错参数名。 |
| 404 | not_found | 接口不存在,或上游没有找到对应资源。 |
| 405 | method_not_allowed | 请求方法与接口要求不一致。 |
| 429 | rate_limited | 请求过于频繁,响应头 Retry-After 给出建议等待秒数。 |
| 502 | upstream_error / upstream_rate_limited | 上游服务异常或触发限流。 |
| 504 | timeout | 上游请求超时。 |
接口说明
通过免费的 ipwho.is 服务查询 IP 归属地。传入 ip 参数查询指定地址,或留空查询调用方自己的 IP。
ipwho.is 无需密钥即可使用,免费额度有限,本站对结果缓存 5 分钟以降低上游压力。请勿用于高频批量查询。