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... 獲取祕鑰:

clipboard.png
填寫相關的信息獲取到一串祕鑰

二:根據百度地圖提供的接口地址獲取實際地址信息

這裏以普通IP定位爲例:

clipboard.png
根據教程編寫根據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 '<pre>';
print_r($data_info);
echo '</pre>';

輸出結果爲:

clipboard.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章