Мы ищем быстрый и точный способ получить местоположение посетителей на основе их IP.
Мы попробовали ipinfodb.com, но их API сильно нарушил наш сайт при вызове API.
Какие другие услуги вы предлагаете?
Получите информацию о 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 $response=@file_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: (.*?) #i'; $patterns["country"] = '#Country: (.*?) #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; } ?>
Nomsayn?
Если вы хотите, чтобы база данных использовала этот http://www.phpandstuff.com/articles/geoip-country-lookup-with-php
Самый лучший и последний из них – GeoplugginAPI – это бесплатно и без ограничений. Я использую для этого свой сайт http://spidersoft.in для определения местоположения.
Попробуйте этот 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);
Лидер рынка в этом пространстве и тот, который предоставляет корпоративное решение, – Digital Element . Они предлагают широкий спектр API, включая PHP, для доступа к своему серверу, который вы можете установить локально или получить через веб-службу. Их данные имеют высокое качество, а производительность их решения довольно хорошая. MaxMind – еще один вариант, который получает хорошие отзывы.
Для лучшей точности вы хотите выбрать услугу или решение, в которых вы получаете еженедельное обновление (обновления), поскольку этот материал может немного измениться в данной сети. Стоимость будет зависеть от частоты обновлений, детализации геоданных и количества дополнительных полей или баз данных, которые вы хотите. Некоторые поставщики предлагают язык, демографию, компанию и домен, чтобы назвать несколько.