為了統計訪客數量來源所屬地區,主要是省市的數量及其比例。網路上有多種免費的IP地址轉換的服務,考慮了準確性,易用性,查詢速率以及每日查詢量,特推薦百度和騰訊的api以此文來總結說明。
ip地址解析
普通IP定位 API是一個根據IP返回對應大致位置信息的HTTP/HTTPS形式位置服務接口。調用API接口,返回請求參數中指定IP的大致位置信息,包括:經緯度、省、市、區縣等地址信息。如果請求參數中的IP為空,則默認返回當前服務請求來源的IP所對應的大致位置信息。
根據網上公開的接口有以下6大廠商
1、騰訊
https://apis.map.qq.com/ws/location/v1/ip={ip}&key={key}
優缺點:需要申請key、速度快、有基本信息。
2、百度
https://api.map.baidu.com/location/ip?ak={ak}&ip={ip}&coor=bd09ll
優缺點:需要申請ak碼、實名認證,上傳身份照片審核等,但是速度快
3、淘寶
http://ip.taobao.com/service/getIpInfo.php?ip={ip}
優缺點:免費,但經常訪問失敗qps上限、獲取結果比較慢
4、新浪
http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip={ip}
優缺點:多次訪問打不開
5、搜狐
http://pv.sohu.com/cityjson?ie=utf-8
優缺點:返回的信息太少,只有城市id和城市信息
6、太平洋
http://whois.pconline.com.cn/?ip={ip}
優缺點:內容太長且數據是html,不方便解析等
測試百度接口
https://api.map.baidu.com/location/ip?ak=%s&ip=%s&coor=bd09ll
返回數據
{
"address": "CN|北京|北京|None|UNICOM|0|0",
"content": {
"address": "北京市",
"address_detail": {
"city": "北京市",
"city_code": 131,
"district": "",
"province": "北京市",
"street": "",
"street_number": ""
},
"point": {
"x": "116.40387397",
"y": "39.91488908"
}
},
"status": 0
}
測試騰訊接口
https://apis.map.qq.com/ws/location/v1/ip?ip=%s&key=%s&output=json
返回數據
{
"status": 0,
"message": "query ok",
"result": {
"ip": "43.250.200.1",
"location": {
"lat": 28.11266,
"lng": 112.9834
},
"ad_info": {
"nation": "中國",
"province": "湖南省",
"city": "",
"district": "",
"adcode": 430000
}
}
}
感興趣的自己可以去申請key碼去體驗下這些接口,歡迎補充!