各位佬,有很多第三方IP查询API要么速率限制太狠,要么直接收费,索性自己搭了一个基于ip2region的API,免费 & 1分钟60次调用,基本够日常开发用了
60次还不够用?有无速率限制的,往下看!
快速调用:
curl "https://ip.api.opens.ltd/public.php?ip=8.8.8.8"
响应示例 :
{
"success": true,
"data": {
"ip": "8.8.8.8",
"city_id": 2056,
"region": "美国|0|0|Level3",
"country": "美国",
"country_code": "US",
"country_info": {
"chinese": "美国",
"english": "United States of America",
"alpha2": "US",
"alpha3": "USA",
"numeric": "840"
},
"province": "",
"city": "",
"isp": "Level3",
"simple": "美国【Level3】"
},
"rate_limit": {
"limit": 60,
"remaining": 59,
"reset_time": 1758412094
}
}
-
GET请求
https://ip.api.opens.ltd/public.php?ip=61.142.118.231 -
POST表单
curl -X POST -d "ip=61.142.118.231" \
-H "Content-Type: application/x-www-form-urlencoded" \
"https://ip.api.opens.ltd/public.php"
- POST JSON
curl -X POST -d '{"ip":"61.142.118.231"}' \
-H "Content-Type: application/json" \
"https://ip.api.opens.ltd/public.php"
- 请求头传参
bash
curl -H "X-IP: 61.142.118.231" \
"https://ip.api.opens.ltd/public.php"
注意
- 参数
ip只能通过一种方式传递(多传会报400) - 频率限制基于客户端IP计算,重置时间见响应头
X-RateLimit-Reset - 超限返回429,建议指数退避重试