【问题标题】:PHP & API for IP Geolocation用于 IP 地理定位的 PHP 和 API
【发布时间】:2012-05-15 20:22:36
【问题描述】:

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

function showCity($currIP){

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

}

【问题讨论】:

    标签: php mysql api geolocation


    【解决方案1】:

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

    【讨论】:

    【解决方案2】:

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

    并得到一个不错的 JSON 作为回报,这将更容易 parse

    【讨论】:

      猜你喜欢
      • 2011-12-07
      • 1970-01-01
      • 1970-01-01
      • 2014-01-26
      • 1970-01-01
      • 1970-01-01
      • 2011-09-05
      • 1970-01-01
      • 2013-06-16
      相关资源
      最近更新 更多