Нужна альтернатива геоипу - PullRequest
0 голосов
/ 08 апреля 2011

Мне нужен альтернативный способ получения кодов стран. Вот скрипт, который использует 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");

Ответы [ 2 ]

0 голосов
/ 08 апреля 2011

Попробуйте использовать 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 - ваш сервер или все).

0 голосов
/ 08 апреля 2011

Рассматривали ли вы hostip.info

...