需要 geoip 的替代品

发布于 2024-10-31 03:39:46 字数 868 浏览 1 评论 0原文

我需要一种获取国家/地区代码的替代方法。这是一个使用 geoip 的脚本,请参阅 func (geoip_record_by_name)。

$ip = $_SERVER['REMOTE_ADDR'];
$record = geoip_record_by_name($ip);
$countryid = $record['country_code'];
$countryname = $record["country_name"];
$countryallowed = array("AL", "AM", "AR", "AT", "AU", "AX", "BA", "BD", "BE", "BG", "BO", "BR", "BY", "CA", "CH", "CL", "CN", "CO", "CZ", "DE", "DJ", "DK", "DO", "DZ", "EC", "EE", "EG", "ES", "FI", "FR", "GB", "GE", "GF", "GL", "GR", "GY", "HK", "HR", "HU", "ID", "IE", "IL", "IN", "IR", "IS", "IT", "JO", "JP", "KH", "KP", "KR", "KZ", "LB", "LT", "LU", "LV", "LY", "MA", "MD", "ME", "MK", "ML", "MN", "MW", "MX", "MY", "NL", "NO", "NR", "NZ", "PE", "PH", "PL", "PR", "PT", "PW", "PY", "RE", "RO", "RS", "RU", "SE", "SG", "SI", "SK", "SR", "TH", "TR", "TW", "UA", "US", "UY", "UZ", "VE", "VN", "YE", "ZA");

I need an alternative way of grabbing country codes. Here's a script that uses geoip, see the func (geoip_record_by_name).

$ip = $_SERVER['REMOTE_ADDR'];
$record = geoip_record_by_name($ip);
$countryid = $record['country_code'];
$countryname = $record["country_name"];
$countryallowed = array("AL", "AM", "AR", "AT", "AU", "AX", "BA", "BD", "BE", "BG", "BO", "BR", "BY", "CA", "CH", "CL", "CN", "CO", "CZ", "DE", "DJ", "DK", "DO", "DZ", "EC", "EE", "EG", "ES", "FI", "FR", "GB", "GE", "GF", "GL", "GR", "GY", "HK", "HR", "HU", "ID", "IE", "IL", "IN", "IR", "IS", "IT", "JO", "JP", "KH", "KP", "KR", "KZ", "LB", "LT", "LU", "LV", "LY", "MA", "MD", "ME", "MK", "ML", "MN", "MW", "MX", "MY", "NL", "NO", "NR", "NZ", "PE", "PH", "PL", "PR", "PT", "PW", "PY", "RE", "RO", "RS", "RU", "SE", "SG", "SI", "SK", "SR", "TH", "TR", "TW", "UA", "US", "UY", "UZ", "VE", "VN", "YE", "ZA");

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

相对绾红妆 2024-11-07 03:39:46

您是否考虑过 hostip.info

Have you considered hostip.info

七分※倦醒 2024-11-07 03:39:46

尝试使用 SOAP: http://www.webservicex.net/geoipservice.asmx?op= GetGeoIP 您所要做的就是:

$url = 'http://www.webservicex.net/geoipservice.asmx/GetGeoIP?IPAddress=';
if ($stream = fopen(url.$_SERVER['REMOTE_ADDR'], 'r')) {
    $soapResponse = stream_get_contents($stream, 1024);
    fclose($stream);
}

$xml = simplexml_load_string($soapResponse);

echo $xml->CountryCode; 

注意:我不知道有多少个请求是免费的(每天、每个请求 IP - 您的服务器或全部)。

Try using a SOAP: http://www.webservicex.net/geoipservice.asmx?op=GetGeoIP All you have to do is:

$url = 'http://www.webservicex.net/geoipservice.asmx/GetGeoIP?IPAddress=';
if ($stream = fopen(url.$_SERVER['REMOTE_ADDR'], 'r')) {
    $soapResponse = stream_get_contents($stream, 1024);
    fclose($stream);
}

$xml = simplexml_load_string($soapResponse);

echo $xml->CountryCode; 

Note: I don't know how many requests are free (per day, per requesting IP - your server, or all).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文