【发布时间】:2011-01-01 04:29:36
【问题描述】:
如何在不使用商业 GeoIP 区域版的情况下使用 PHP 从 IP 地址中获取国家/地区名称?
【问题讨论】:
-
没有 commercial API 还是根本没有 GeoIP API?
标签: php ip-address
如何在不使用商业 GeoIP 区域版的情况下使用 PHP 从 IP 地址中获取国家/地区名称?
【问题讨论】:
标签: php ip-address
代码
$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。
我不认为你可以简单地使用 PHP,但我找到了一个你可以使用的免费 API 解决方案。它需要简单的发布和响应。 http://www.hostip.info/use.html
示例帖子: http://api.hostip.info/get_html.php?ip=12.215.42.19
示例响应: 国家:美国(美国) 城市:伊利诺伊州舒格罗夫
【讨论】:
【讨论】: