Подтвердить что ты не робот

Географическое местоположение на основе IP-адреса - PHP

Мы ищем быстрый и точный способ получить местоположение посетителей на основе их IP.

Мы попробовали ipinfodb.com, но их API сильно нарушил наш сайт при вызове API.

Какие другие услуги вы предлагаете?

4b9b3361

Ответ 1

Получите информацию о Geo-IP

Запрашивает гео-IP-сервер (netip.de) для проверки, возвращает, где находится IP (хост, состояние, страна, город).

<?php
       $ip='94.219.40.96';
       print_r(geoCheckIP($ip));
       //Array ( [domain] => dslb-094-219-040-096.pools.arcor-ip.net [country] => DE - Germany [state] => Hessen [town] => Erzhausen )

       //Get an array with geoip-infodata
       function geoCheckIP($ip)
       {
               //check, if the provided ip is valid
               if(!filter_var($ip, FILTER_VALIDATE_IP))
               {
                       throw new InvalidArgumentException("IP is not valid");
               }

               //contact ip-server
               [email protected]_get_contents('http://www.netip.de/search?query='.$ip);
               if (empty($response))
               {
                       throw new InvalidArgumentException("Error contacting Geo-IP-Server");
               }

               //Array containing all regex-patterns necessary to extract ip-geoinfo from page
               $patterns=array();
               $patterns["domain"] = '#Domain: (.*?)&nbsp;#i';
               $patterns["country"] = '#Country: (.*?)&nbsp;#i';
               $patterns["state"] = '#State/Region: (.*?)<br#i';
               $patterns["town"] = '#City: (.*?)<br#i';

               //Array where results will be stored
               $ipInfo=array();

               //check response from ipserver for above patterns
               foreach ($patterns as $key => $pattern)
               {
                       //store the result in array
                       $ipInfo[$key] = preg_match($pattern,$response,$value) && !empty($value[1]) ? $value[1] : 'not found';
               }

               return $ipInfo;
       }

?>

Ответ 2

Самый лучший и самый последний из них - GeoplugginAPI - это бесплатно и без ограничений, которые я использую для этого своего веб-сайта http://spidersoft.in для определения местоположения. эта ссылка

http://geoplugin.com

Ответ 3

Попробуйте этот http://ip.codehelper.io/

Вот PHP-код. Код будет кэшировать ваш запрос автоматически, поэтому ваш сервер не отправит несколько запросов. Верните IP-адрес, страну, город и дополнительную информацию.

<?php
// Required Libraries
require_once("ip.codehelper.io.php");
require_once("php_fast_cache.php");

// New Class
$_ip = new ip_codehelper();

// Detect Real IP Address & Location
$real_client_ip_address = $_ip->getRealIP();
$visitor_location       = $_ip->getLocation($real_client_ip_address);

// Output result
echo $visitor_location['Country']."";
echo "<pre>";
print_r($visitor_location);

Ответ 4

Лидер рынка в этом пространстве и тот, который предоставляет корпоративное решение, Digital Element. Они предлагают широкий спектр API, включая PHP, для доступа к своему серверу, который вы можете установить локально или получить через веб-службу. Их данные имеют высокое качество, а производительность их решения довольно хорошая. MaxMind - еще один вариант, который получает хорошие отзывы.

Для лучшей точности вы хотите выбрать услугу или решение, в которых вы получаете еженедельное обновление (обновления), поскольку этот материал может немного измениться в данной сети. Стоимость будет зависеть от частоты обновлений, детализации геоданных и количества дополнительных полей или баз данных, которые вы хотите. Некоторые поставщики предлагают язык, демографию, компанию и домен, чтобы назвать несколько.