PHP& IP地理定位API

时间:2012-05-15 20:22:36

标签: php mysql api geolocation

我正在尝试在我的网络应用中使用http://www.hostip.info/use.html来显示IP地址的大致城市位置。我无法弄清楚如何实际显示API的内容......这就是我所拥有的不起作用。

function showCity($currIP){

$lookupData = 'http://api.hostip.info/get_html.php?ip='.$currIP;
return $lookupData;

}

2 个答案:

答案 0 :(得分:2)

您的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;

答案 1 :(得分:1)

此调用返回字符串,如GregP所述。但你可以打电话 http://api.hostip.info/get_json.php?ip=12.215.42.19

获得一个很好的JSON作为回报,这将更容易 parse

相关问题