【问题标题】:Country name from PHP [closed]来自 PHP 的国家名称 [关闭]
【发布时间】:2011-01-01 04:29:36
【问题描述】:

如何在不使用商业 GeoIP 区域版的情况下使用 PHP 从 IP 地址中获取国家/地区名称?

【问题讨论】:

  • 没有 commercial API 还是根本没有 GeoIP API?

标签: php ip-address


【解决方案1】:

代码

$json = file_get_contents('http://freegeoip.appspot.com/json/66.102.13.106');
$expression = json_decode($json);
print_r($expression);

结果

stdClass Object
(
    [status] => 1
    [ip] => 66.102.13.106
    [countrycode] => US
    [countryname] => United States
    [regioncode] => CA
    [regionname] => California
    [city] => Mountain View
    [zipcode] => 94043
    [latitude] => 37.4192
    [longitude] => -122.057
)

获取国名

echo $expression->countryname;

结果

United States

【讨论】:

  • 假设您有 json_decode(),它仅来自 PHP >= 5.2。
【解决方案2】:

我不认为你可以简单地使用 PHP,但我找到了一个你可以使用的免费 API 解决方案。它需要简单的发布和响应。 http://www.hostip.info/use.html

示例帖子: http://api.hostip.info/get_html.php?ip=12.215.42.19

示例响应: 国家:美国(美国) 城市:伊利诺伊州舒格罗夫

【讨论】:

  • 它只在美国有效吗?我的德国 IP 没有收到任何有效回复。
【解决方案3】:

【讨论】:

    猜你喜欢
    • 2011-06-27
    • 1970-01-01
    • 1970-01-01
    • 2020-05-20
    • 1970-01-01
    • 1970-01-01
    • 2014-10-07
    • 2013-10-26
    • 2012-03-08
    相关资源
    最近更新 更多