0

我正在尝试将用户重定向到关于他们在 PHP 中的国家/地区的适当页面。例如。美国 - mysite.com,澳大利亚 - mysite.com.au。我已经通过此功能获得了 IP 地址,并想使用此站点获取他们的国家/地区:http://api.hostip.info/country.php?ip=.

if (getenv(HTTP_X_FORWARDED_FOR)) { 
    $ip_address = getenv(HTTP_X_FORWARDED_FOR); 
    echo $ip_address;
} else { 
    $ip_address = getenv(REMOTE_ADDR);
    echo $ip_address;
}

ip_address_to_number($ip_address);
4

1 回答 1

2

我建议使用NetImpact 的 API,但你能具体告诉我们问题是什么吗?您所做的只是告诉我们您要做什么,但您从未告诉我们您当前的代码是如何出现故障的。

注意:Netimpact 已关闭。他们已将用户迁移到KickFire,它提供更广泛的 API:IP2GEO、IP2Company、Domain2IP。

但是,如果您只想获取该 URL 的内容,那真的很容易。只需将其放在您的 PHP 页面中:

<?php
$ip = $_SERVER['REMOTE_ADDR'];
$url = 'http://api.hostip.info/country.php?ip=' . $ip;
$country = file_get_contents($url);
// Do something with the country, I am forwarding to a subdomain here but you can
// do whatever you like.
header('Location: http://' . $country. '.mysite.com');
?>
于 2012-12-30T06:12:32.783 回答