獲取使用者IP並查詢所在地理位置(附幾個第三方免費開放API)

醉月メ非寒發表於2018-08-22

這兩天公司叫我做一個功能,通過獲取使用者的ip判斷所在的地理位置,來做相對應的功能。

一開始試用的介面的新浪的API

http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=IP地址

但是因為這個API是不知道什麼時候就停用的了,所以就算了

現在說可以使用的API:

淘寶API

缺點:

1.有時候呼叫速度很快,但是有時候回超過30秒而導致伺服器報錯,終結頁面的執行

<?php
$ip = file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".$_GET["ip"]);
$ip = json_decode($ip,true);
?>

結果是返回JSON格式的如下

騰訊API

缺點:好像使用者試用WIFI情況下定位不準確或者不會有返回資料

http://ip.taobao.com/service/getIpInfo.php?ip=IP

結果是返回JSON格式(別人告訴的,然而我測試沒用)

搜狐API

缺點:

1.不能使用特定IP來查詢,只能使用API原本查詢的IP

2.在伺服器測試中,API直接查詢出了伺服器的IP,並不是使用者的IP

(這兩個缺點感覺是我寫程式碼的問題,但是我不知道怎麼解,如果有大神解決了麻煩告訴我一下怎麼解,謝謝)

搜狐IP地址查詢介面(預設GBK):http://pv.sohu.com/cityjson 
搜狐IP地址查詢介面(可設定編碼):http://pv.sohu.com/cityjson?ie=utf-8 
搜狐另外的IP地址查詢介面:http://txt.go.sohu.com/ip/soip 

第一個和第二個分別是不同編碼的API,返回結果如下

第三個API雖然有結果原諒我小白看不懂怎麼使用,返回結果如下

126API

缺點:返回格式有點問題,不是UTF-8格式,轉格式也失敗

126API:http://ip.ws.126.net/ipquery?ip=IP

返回結果如下

太平洋API

這個API很強大:http://whois.pconline.com.cn

詳細的看一下里面的說明吧

但是這個有問題 他JSON格式 屬於回撥  本地執行可以 放到專案裡面就報錯403 

最終我也沒有選擇這個來使用 

說明:該文章如有侵權,請聯絡我!該文章只供參考,有問題請各位自己擔當哈!!在文章是在20180822編寫,API有可能呼叫變動或者無法使用,請各位注意一下!

 

相關文章