https://api.map.baidu.com/location/ip?ip=111.206.214.37&coor=bd09ll&ak=您的AK
//GET请求
参数名称 | 字段含义 | 数据类型 | 备注 |
---|---|---|---|
ip | 用户上网的IP地址,请求中如果不出现或为空,会针对发来请求的IP进行定位。 | string | 可选 |
ak | 开发者密钥,可在API控制台申请获得 | string | 必填 |
sn | 若用户所用AK的校验方式为SN校验时该参数必填。其他AK校验方式的可不填写 | string | 可选 |
coor | 设置返回位置信息中,经纬度的坐标类型,分别如下: | string | 可选 |
参数名 | 字段含义 | 类型 | ||
---|---|---|---|---|
address | 详细地址信息 | string | ||
content | ||||
address | 简要地址信息 | string | ||
address_detail | ||||
city | 城市 | string | ||
city_code | 百度城市代码 | string | ||
province | 省份 | string | ||
point | ||||
x | 当前城市中心点经度 | string | ||
y | 当前城市中心点纬度 | string | ||
status | 结果状态返回码,请参考本章节后面的介绍 | string |
输入AK可生成包含IP/SN校验方式的代码
<?php// 此处填写你在控制台-应用管理-创建应用后获取的AK$ak = '您的AK';// 发起一个http get请求,并返回请求的结果// $url字段为请求的地址// $param字段为请求的参数function request_get($url = '', $param = array()) {if (empty($url) || empty($param)) {return false;}$getUrl = $url . "?" . http_build_query($param);$curl = curl_init(); // 初始化curlcurl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); // 从证书中检查SSL加密算法是否存在curl_setopt($curl, CURLOPT_URL, $getUrl); // 抓取指定网页curl_setopt($curl, CURLOPT_TIMEOUT, 1000); // 设置超时时间1秒curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // curl不直接输出到屏幕curl_setopt($curl, CURLOPT_HEADER, 0); // 设置header$data = curl_exec($curl); // 运行curlif (!$data) {print("an error occured in function request_get(): " . curl_error($curl) . "\n");}curl_close($curl);return $data;}// 请求地址$url = 'https://api.map.baidu.com/location/ip';// 构造请求参数$param['ip'] = '111.206.214.37';$param['coor'] = 'bd09ll';$param['ak'] = $ak;$res = request_get($url, $param);// 将原始返回的结果打印出来print("请求的原始返回结果为:\n");print($res . "\n");?>
{address: "CN|北京|北京|None|CHINANET|1|None", #详细地址信息content: #结构信息{address: "北京市", #简要地址信息address_detail: #结构化地址信息{city: "北京市", #城市city_code: 131, #百度城市代码province: "北京市", #省份},point: #当前城市中心点{x: "116.39564504", #当前城市中心点经度y: "39.92998578" #当前城市中心点纬度}},status: 0 #结果状态返回码}
参数 | 值 | 备注 | 必选 |
---|---|---|---|
ip | 您的IP | 否 | |
coor | bd09ll | 否 |
0 | 正常 | |
1 | 服务器内部错误 | 该服务响应超时或系统内部错误,请留下联系方式 |
10 | 上传内容超过8M | Post上传数据不能超过8M |
101 | AK参数不存在 | 请求消息没有携带AK参数 |
102 | Mcode参数不存在,mobile类型mcode参数必需 | 对于Mobile类型的应用请求需要携带mcode参数,该错误码代表服务器没有解析到mcode |
200 | APP不存在,AK有误请检查再重试 | 根据请求的ak,找不到对应的APP |
201 | APP被用户自己禁用,请在控制台解禁 | |
202 | APP被管理员删除 | 恶意APP被管理员删除 |
203 | APP类型错误 | 当前API控制台支持Server(类型1), Mobile(类型2, 新版控制台区分为Mobile_Android(类型21)及Mobile_IPhone(类型22))及Browser(类型3),除此之外其他类型认为是APP类型错误 |
210 | APP IP校验失败 | 在申请SERVER类型应用的时候选择IP校验,需要填写IP白名单,如果当前请求的IP地址不在IP白名单或者不是0.0.0.0/0就认为IP校验失败 |
211 | APP SN校验失败 | SERVER类型APP有两种校验方式IP校验和SN校验,当用户请求的SN和服务端计算出来的SN不相等的时候提示SN校验失败 |
220 | APP Referer校验失败 | 浏览器类型的APP会校验referer字段是否存在,且在referer白名单里面,否则返回该错误码 |
230 | APP Mcode码校验失败 | 服务器能解析到mcode,但和数据库中不一致,请携带正确的mcode |
240 | APP 服务被禁用 | 用户在API控制台中创建或设置某APP的时候禁用了某项服务,若需开通权限,可进入API控制台为AK勾选对应服务 |
250 | 用户不存在 | 根据请求的user_id, 数据库中找不到该用户的信息,请携带正确的user_id |
251 | 用户被自己删除 | 该用户处于未激活状态 |
252 | 用户被管理员删除 | 恶意用户被加入黑名单 |
260 | 服务不存在 | 服务器解析不到用户请求的服务名称 |
261 | 服务被禁用 | 该服务已下线 |
302 | 天配额超限,限制访问 | 配额超限,如果想增加配额请联系我们 |
401 | 当前并发量已经超过约定并发配额,限制访问 | 并发控制超限,请控制并发量或联系我们 |
1001 | 没有IPv6地址访问的权限 | 如需通过IPv6来获取位置信息,请提交工单申请 |
上一篇
下一篇
本篇文章对您是否有帮助?