![]() |
![]() |
![]() |
||
![]() |
||||
Новый XML сервис!Добавлено: Пятница, 11 Февраля, 2011 18:55 Размещено в: Новости проектаНа нашем сайте появился новый xml-сервис для определения местонахождения ip-адреса. Сервис расположен по адресу http://ipgeobase.ru:7020/geo?ip=1.2.3.4 В отличие от предыдущего сервиса, новый обрабатывает запросы по одному ip адресу (методом GET). Upd: Добавлены США и Канада (с точностью до страны). Пример московского адреса: http://ipgeobase.ru:7020/geo?ip=144.206.192.6 Пример киевского адреса: http://ipgeobase.ru:7020/geo?ip=193.193.199.255 Пример английского адреса: http://ipgeobase.ru:7020/geo?ip=92.2.3.4 Предыдущий сервис (только Россия) также будет продолжать работать. |
||||
![]() |
![]() |
![]() |
||
![]() |
14 Февраля, 2011 в 14:41
подскажите, когда можно будет скачать базу Украины архивом? сейчас там обновляемая только для России
16 Февраля, 2011 в 12:48
Отличная новость!!!
16 Февраля, 2011 в 12:57
Думаю на этой неделе выложим. Файл будет содержать новое поле - страна. Для блоков из других стран (не RU и не UA) будет только ISO код страны, без города. Файл будет обновляться ежедневно.
19 Февраля, 2011 в 18:30
Есть ли какие-нибудь ограничения по использованию данного сервиса?
20 Февраля, 2011 в 17:50
Пока никаких - пользуйтесь на здоровье! Дальше посмотрим - если не будет справляться, поставим ограничение на число запросов в секунду.
24 Февраля, 2011 в 14:39
Функция возвращает строку содержащую название города соответствующую переданному параметру $ip;
function get_city_by_ip($ip = ”, $reset_cache = FALSE) {
if(!$_COOKIE["geolocation"] or $reset_cache) {
if (!$ip) {
$ip = ВАША_ФУНКЦИЯ_ОПРЕДЕЛЕНИЯ_IP();
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, ‘http://ipgeobase.ru:7020/geo?ip=’.$ip);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($ch, CURLOPT_USERAGENT, ‘PHP Bot’);
$data = curl_exec($ch);
$city = ( !curl_errno($ch) && $xml = simplexml_load_string($data) ) ? $xml->ip->city : false;
curl_close($ch);
if ($city) {
$city_enc = base64_encode($city);
setcookie(”geolocation”, $city_enc, time()+3600*24*7); //set cookie for 1 week
}
} else {
$city = base64_decode($_COOKIE["geolocation"]);
}
return $city;
}
Функция принимает 2 параметра:
ip
reset_cache - если она FALSE, то запрос записывается в куки на 1 неделю, если TRUE, то запрос производится каждый раз
Таймауты выставляйте индивидуально (для меня это по 3 секудны)
5 Марта, 2011 в 14:24
Тег “/ip-answer” передается в одной строке с “ip value=…/ip”, что не совсем логично и не удобно для разбора. Но если адрес не найден, то всё нормально. Приведите пожалуйста к единому виду.
5 Марта, 2011 в 18:03
Спецификации XML никак не регламентируют эту ситуацию. Можно писать хоть в одну строчку. Разбор обычно осуществляется стандартными библиотеками, которые наура все это воспринимают.
6 Марта, 2011 в 21:06
А с ipv6 будет база?
7 Марта, 2011 в 18:04
Обязательно. Для нас сейчас это приоритетное направление. Думаю, к концу лета будет готово.
21 Марта, 2011 в 17:49
Скажите, а есть ли планы расширить функционал предыдущего сервиса до функционала этого? Получается, что для того чтобы узнать страну для пачки IP - нужно перебирать их гетом в этом сервисе, тогда как и вам и конечному пользователю было бы удобнее и быстрее передать блок ip в одном запросе и получить один ответ с блоком данных, но предыдущий работает только с Россией, к сожалению.
22 Марта, 2011 в 0:09
Базой казахстанских адресов когда-нибудь порадуете?
22 Марта, 2011 в 12:13
Странное дело получается. Когда мы запускали первый сервис, все дружно писали о том, что это не удобно, лучше по одному адресу. Кроме того судя по логам сервиса (на начало 2011 года) по несколько адресов прокачивает менее 0.5% пользователей. Поэтому и было принято решение ограничиться одним адресом. Теперь ситуация противоположная
Скорей всего мы введем POST в новом сервисе, но это будет не в ближайшее время. Сейчас главный приоритет развития проекта - база ipv6 адресов.
28 Марта, 2011 в 0:51
Есть какие-то ограничения на пользование с одного ip-адреса?
Повесил у себя на сайте. Без всякого кэширования. За сутки у меня 3-4 тысячи кликов и следовательно запросов. Меня не забанят?
28 Марта, 2011 в 16:22
Повесил у себя на сайте. Без всякого кэширования. За сутки у меня 3-4 тысячи кликов и следовательно запросов. Меня не забанят?
Нет, пока сервис справляется.
2 Мая, 2011 в 9:56
Добрый день,
А можно добавить в вывод некоторый цифровой идентификатор населенного пункта? Чтобы было удобнее группировать сохраненные результаты.
18 Мая, 2011 в 14:09
Спасибо за сервис!
Всем привет.
Если кого-то заинтересует, то для этого сервиса есть компонент на PHP, в котором помимо всего прочего есть возможность кеширования результатов в БД. За последние 2 дня он был адаптирован к новому XML-сервису и, возможно, местами сыроват, однако существующие юнит-тесты проходит без ошибок.
На днях будут обновлены файлы для скачивания, а пока можно скачать компонент из репозитория (https://bitbucket.org/sli/ipgeo/src), посмотреть примеры использования (https://bitbucket.org/sli/ipgeo/wiki/Home) и оставить свои предложения или указания на ошибки (https://bitbucket.org/sli/ipgeo/issues/new).
25 Мая, 2011 в 12:17
Здравствуйте, если по ip не выдается данных, значит его нет у вас в базе? (http://ipgeobase.ru:7020/geo?ip=74.52.75.130)
26 Мая, 2011 в 14:57
Здравствуйте. Да. В указанном вами примере адрес американский, а у нас в базе только Россия, Украина и Европа (только с точностью до страны)
30 Мая, 2011 в 12:44
Отличный сервис !
31 Мая, 2011 в 17:27
Здравствуйте.
Спасибо сервис действительно очень удобный и полезный.
Возможно-ли доработать сервис так что бы при обращение по адресу http://ipgeobase.ru:7020/geo (без указания IP адреса) сервис выдавал результат касательно IP адреса клиента инициирующий этот запрос?
Зарание благадарю.
1 Июня, 2011 в 13:57
У меня миллионы запросов в день. Не хочу мучить Ваш сервис и подкладывать свинью другим, поэтому гружу базу и сама ее читаю. Просьба/вопрос: API для обновление базы данных можно сделать? Т. е. не отдельные запросы к Вам, а, допустим, раз в неделю выгрузка новой базы. И Вам не накладно и нам удобно.
8 Июня, 2011 в 2:31
Исправьте ошибку в Incorrect request. (mesasge)
19 Июня, 2011 в 12:39
Здравствуйте, а планируется ли добавлении всех всех стран? ато америку у вас не находит
23 Июня, 2011 в 17:11
Добрый день!
Добавлены ipv4 адреса США и Канады (с точностью до страны)
23 Июня, 2011 в 17:13
Исправлено.
23 Июня, 2011 в 17:26
Такого наверно наш сервис не выдержал бы
Вы не первая кто предлагает выкладывать не базу целиком, а только обновления. Думаю, после запуска ipv6, мы сделаем такую возможность. Я сомневаюсь что вы имеете в виду миллионы уников. Скорей всего речь идет о 50-60 тысяч уников, которые просматривают много страниц. Можно обращаться только 1 раз за уника и давать ему куки. 50 тысяч наш сервис выдержит.
7 Июля, 2011 в 10:34
Почему ваш XML-сервис перестал отдавать информацию для некоторых моих IP? Есть ли какие-то ограничения на использование?
8 Июля, 2011 в 13:17
Добрый день!
Ограничений на сервис нет, некоторые адреса забанены, т.к. они парсили сам сайт. Но на сервис эти ограничения не распространяются. Сообщите пожалуйста для каких адресов у вас наблюдаются проблемы и с каких ip вы делаете запросы?
24 Августа, 2011 в 12:07
Огромное пасиба. Час убил на поиск базы, а тут такая приятная апишка. Привык к тому что бесплатный сыр сами знаете где… не случится ли так что со временем сервис станет платным? А то внедрю функционал с использованием вашего ресурса на сайт, а потом надо будет денюжку платить - искать что то новое и переделывать лень будет.