【實(shí)用技巧:如何通過IP地址進(jìn)行精準(zhǔn)定位】在甲方工作的朋友可能會(huì)遇到這樣的問題,服務(wù)器或者系統(tǒng)經(jīng)常被掃描,通過IP地址我們只能查到某一個(gè)市級(jí)城市,如下圖:

當(dāng)我們想具體到街道甚至門牌號(hào),該怎么辦???
偶然間發(fā)現(xiàn)百度地圖有高精度IP定位API的接口,通過該接口我們可以通過IP地址定位到具體的地理位置,甚至能精確到門牌號(hào)及周圍的標(biāo)志性建筑 。該接口的說明地址為:http://lbsyun.baidu.com/index.php?title=webapi/high-acc-ip
若想要使用該接口進(jìn)行查詢,必須先申請一個(gè)密鑰(AK),如下圖:

申請過程就不進(jìn)行說明了 。API的接口參數(shù)說明和返回參數(shù)說明也不過多的介紹,大家可以看一看 。因?yàn)槲蚁敕祷鼗A(chǔ)定位結(jié)果 地址信息 POI信息,所以我將請求參數(shù)extensions的值設(shè)置為3 。一次完整的http請求為:http://api.map.baidu.com/highacciploc/v1?qcip=183.55.116.90&qterm=pc&ak=“你的密鑰(AK)”&coord=bd09ll&extensions=3。請求結(jié)果如下圖:

結(jié)果為json格式數(shù)據(jù):

我們需要的字段為:content字段里面的formatted_address 。當(dāng)然我們也可以將location里面的經(jīng)度和緯度提取出來從而顯示在地圖上面 。有的IP地址會(huì)返回pois數(shù)據(jù),比如:183.55.116.95 。返回參數(shù)如下:

此時(shí)我們可以把pois字段也提取出來,值得注意的是pois為數(shù)組,我們可以遍歷數(shù)組數(shù)據(jù) 。
通過上面的分析,用python簡單的寫了一個(gè)腳本,具體代碼如下:

大家把腳本上面的參數(shù)ak值改為自己的密鑰即可 。測試截圖如下:

再放一張自己IP的測試截圖:

確實(shí)精確到了路名,很準(zhǔn)確,雖然沒有pois的信息 。
最后聲明一下,成功率:綜合定位成功率 65%,精度:90% 誤差 80m 以內(nèi);95% 誤差 350m 。這是官方給出的數(shù)據(jù),所說有一定的概率是查詢失敗的!?。?!
推薦閱讀
- 電氣火災(zāi)的火源主要有哪些形式 發(fā)生電氣火災(zāi)時(shí)如何撲救
- macOS Sierra如何禁用/啟用“基于位置的建議”
- 干支紀(jì)年法如何計(jì)算 干支紀(jì)年的計(jì)算方法
- iPhone其他系統(tǒng)內(nèi)存清理方法 蘋果如何清理手機(jī)垃圾釋放內(nèi)存
- 古代一兩等于多少克 古代一兩如何換算成克
- 面糊怎么做 面糊如何做
- u盤深度裝機(jī)教程步驟 深度u盤啟動(dòng)盤制作
- 互金APP如何搭建積分體系? 積分體系搭建方法介紹
- Mac如何搜索隱藏文件?Mac搜索條件怎么設(shè)置
- 如何讓葡萄高產(chǎn)早熟
