首頁 >後端開發 >php教程 >php如何根據ip取得其實際位址(附範例)

php如何根據ip取得其實際位址(附範例)

不言
不言轉載
2019-01-16 10:21:005095瀏覽

這篇文章帶給大家的內容是關於php如何根據ip取得其實際地址(附範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

在網路上有很多的根據ip位址取得實際位址的教學

他們給了很多的現成接口,範例:

新浪:'http://int. dpool.sina.com.cn/...' . $ip

淘寶:"http://ip.taobao.com/service/getIpInfo.php?ip=".$ip

等接口去根據ip地址獲取實際地址的接口,但是這些接口十分的不穩定,這裡我推薦百度地圖的根據ip獲取實際地址的接口,經過測試,速度槓槓的,而且十分的穩定

一:登入http://lbsyun.baidu.com/index... 取得秘密鑰匙:

php如何根據ip取得其實際位址(附範例)

填寫相關的資訊取得到一串秘鑰

二:根據百度地圖提供的介面位址取得實際位址資訊

這裡以普通IP定位為例:

php如何根據ip取得其實際位址(附範例)
根據教學課程編寫根據ip取得實際位址程式碼:

<?php function curl($url)
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    //参数为1表示传输数据,为0表示直接输出显示。
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    //参数为0表示不带头文件,为1表示带头文件
    curl_setopt($ch, CURLOPT_HEADER,0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);
    $output = curl_exec($ch);
    curl_close($ch);
    return $output;
}
$data_info=curl("http://api.map.baidu.com/location/ip?ip=218.94.147.138&ak=XXXXXXXXX");
//$data_info=file_get_contents("http://api.map.baidu.com/location/ip?ip=218.94.147.138&ak=XXXXXXXXX");
$data_info = json_decode($data_info,true); //数据转换
echo &#39;<pre class="brush:php;toolbar:false">';
print_r($data_info);
echo '
';

輸出結果為:

php如何根據ip取得其實際位址(附範例)

以上是php如何根據ip取得其實際位址(附範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除