我正在嘗試在我的網絡應用程序中使用http://www.hostip.info/use.html來顯示IP地址的近似城市位置。我無法弄清楚如何真正顯示API的內容......這是我有沒有工作。IP地理位置的PHP和API
function showCity($currIP){
$lookupData = 'http://api.hostip.info/get_html.php?ip='.$currIP;
return $lookupData;
}
我正在嘗試在我的網絡應用程序中使用http://www.hostip.info/use.html來顯示IP地址的近似城市位置。我無法弄清楚如何真正顯示API的內容......這是我有沒有工作。IP地理位置的PHP和API
function showCity($currIP){
$lookupData = 'http://api.hostip.info/get_html.php?ip='.$currIP;
return $lookupData;
}
你的API返回此:
Country: UNITED STATES (US)
City: Seattle, WA
IP: 168.111.127.225
所以你需要做一些字符串解析該結果。使用下面將讓你的開始:
$array = preg_split('/$\R?^:/m', $lookupData);
print_r($array);
試試這個:
$array = preg_split("/[\r\n]/", $lookupData, -1, PREG_SPLIT_NO_EMPTY);
此外,作爲被mcmajkel提到的,如果你使用JSON API鏈接,你可以將它與此:
$lookupData = 'http://api.hostip.info/get_json.php?ip='.$currIP;
$api = json_decode($lookupData);
$myName = $api->country_name;
$myCode = $api->country_code;
$myCity = $api->city;
$myIP = $api->ip;
該調用返回字符串,正如GregP所述。但你可以叫 http://api.hostip.info/get_json.php?ip=12.215.42.19
而得到的回報件不錯JSON的,這將是更容易 parse
這似乎並沒有工作。我得到這個: Array([0] => http://api.hostip.info/get_html.php?ip=xxx.xxx.xxx.xxx) – user1393955
新的正則表達式調整答案 - 試試看 – GDP