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

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

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

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

Solutions Collecting From Web of "Географическое местоположение на основе IP-адреса – PHP"

Получите информацию о 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: (.*?)&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; } ?> 

Nomsayn?

Если вы хотите, чтобы база данных использовала этот http://www.phpandstuff.com/articles/geoip-country-lookup-with-php

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

http://geoplugin.com

Попробуйте этот 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 – еще один вариант, который получает хорошие отзывы.

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