稳定好用免费的根据IP地址获取访客所在城市的接口分享给大家
因为前段时间刚好有这个需求,获取网站访客的IP地址,然后根据IP地址查询用户所在省市。这个IP获取位置虽然准确度并不会太高。估计90%所有吧。基本大部分还是比较可靠的。
我们可以借助高德地图免费提供的接口,这个接口用起来比较简单。传入Ip地址,返回城市信息,每天30万次免费调用额度,而且是200的QPS还有返回数据可选JSON,XML,足够满足大部分人使用了。
IP定位是一个简单的HTTP接口,根据用户输入的IP地址,能够快速的帮用户定位IP的所在位置。
使用API前您需先申请Key。若无高德地图API账号需要先申请账号。
使用说明
第一步,申请”web服务 API”密钥(Key);
第二步,拼接HTTP请求URL,第一步申请的Key需作为必填参数一同发送;
第三步,接收HTTP请求返回的数据(JSON或XML格式),解析数据。
如无特殊声明,接口的输入参数和输出数据编码全部统一为UTF-8。
IP定位
IP定位API服务地址:
URL
https://restapi.amap.com/v3/ip?parameters
请求方式
GET
parameters代表的参数包括必填参数和可选参数。所有参数均使用和号字符(&)进行分隔。下面的列表枚举了这些参数及其使用规则。
请求参数
参数名
含义
规则说明
是否必须
缺省值
key
请求服务权限标识
用户在高德地图官网申请Web服务API类型KEY
必填
无
ip
ip地址
需要搜索的IP地址(仅支持国内)
若用户不填写IP,则取客户http之中的请求来进行定位
可选
无
sig
签名
选择数字签名认证的付费用户必填
可选
无
output
返回格式
可选值:JSON,XML
可选
JSON
返回结果参数说明
IP定位查询的响应结果的格式由请求参数output指定。
名称
含义
规则说明
status
返回结果状态值
值为0或1,0表示失败;1表示成功
info
返回状态说明
返回状态说明,status为0时,info返回错误原因,否则返回“OK”。
infocode
状态码
返回状态说明,10000代表正确,详情参阅info状态表
province
省份名称
若为直辖市则显示直辖市名称;
如果在局域网 IP网段内,则返回“局域网”;
非法IP以及国外IP则返回空
city
城市名称
若为直辖市则显示直辖市名称;
如果为局域网网段内IP或者非法IP或国外IP,则返回空
adcode
城市的adcode编码
rectangle
所在城市矩形区域范围
所在城市范围的左下右上对标对
服务示例
https://restapi.amap.com/v3/ip?ip=114.247.50.2&output=xml&key=
参数
值
备注
必选
ip
需要搜索的IP地址(仅支持国内)
若用户不填写IP,则取客户HTTP之中的请求来进行定位
否
运行