...

понедельник, 5 мая 2014 г.

Sypex Geo 2.2 — теперь с GeoNames и ОКАТО

Вышла новая версия Sypex Geo 2.2 — очень быстрого алгоритма определения города по IP. Теперь базы данных стали двуязычными (русский и английский), регионы и города теперь привязаны к базе данных GeoNames, и имеют постоянные ID.

Были добавлены ОКАТО коды для городов и регионов России, КОАТУУ для Украины и СОАТО для Беларуси.


Технические подробности




Алгоритм работы Sypex Geo значительно не изменился, были исправлены небольшие ошибки, которые возникали при сильной неравномерности распределения IP диапазонов.



Основные изменения коснулись справочников.


  • Добавился справочник стран, позволяющий сохранянь более подробную информацию о стране.

  • Внедрен универсальный формат упаковщика данных, благодаря чему можно сохранять в базу любые данные, без изменений в API.

  • Формат упаковки сохраняется в файле базы данных, после заголовка.




Подробнее о формате данных можно почитать в спецификации формата SxGeo 2.2.

REST API




Вместе с новой версией Sypex Geo был запущен сервис REST API. Где с помощью простого запроса по HTTP или HTTPS можно получить наиболее актуальную и расширенную информацию об IP, используя самую свежую базу данных Sypex Geo Max.

Результаты могут выдаваться в 3 форматах: JSON, JSONP и XML. Поддерживается пакетная обработка, до 100 IP в запросе.


Простейший запрос к API выглядит так:

api.sypexgeo.net/

В результате будет получена информация о вашем IP в формате JSON.



{
"ip":"123.45.67.89", // Запрашиваемый IP
"city":{ // Информация о городе
"id":1835848, // ID города в GeoNames
"lat":37.566, // Широта города
"lon":126.9784, // Долгота города
"name_ru":"Сеул", // Название на русском
"name_en":"Seoul", // Название на английском
"okato":"" // ОКАТО коды для городов России, КОАТУУ для Украины и СОАТО для Беларуси
},
"region":{ // Информация о регионе
"id":1835847, // ID региона в GeoNames
"lat":37.58, // Широта региона
"lon":127, // Долгота региона
"name_ru":"Сеул", // Название на русском
"name_en":"Seoul", // Название на английском
"iso":"KR-11", // ISO3166-2 геокод региона
"timezone":"Asia/Seoul", // Часовой пояс региона
"okato":"" // ОКАТО код для регионов России, КОАТУУ для Украины и СОАТО для Беларуси
},
"country":{ // Информация о стране
"id":119, // ID страны
"iso":"KR", // ISO3166-1 геокод страны
"continent":"AS", // Код континента
"lat":36.5, // Широта центра страны
"lon":127.75, // Долгота центра страны
"name_ru":"Южная Корея", // Название на русском
"name_en":"South Korea", // Название на английском
"timezone":"Asia/Seoul" // Часовой пояс столицы
}}


Те же данные в xml можно получить выполнив

api.sypexgeo.net/xml


Чтобы получить информацию об произвольном IP нужно выполнить запрос:

http://ift.tt/1sc73Tm


Если нужно проверить сразу несколько IP, нужно их просто перечислить через запятую или точку с запятой

http://ift.tt/1uqD5gw


Чтобы получить данные в формате JSONP нужно выполнить запрос:

http://ift.tt/1sc70qL


Допускаются и POST запросы, в таком случае IP указываются в параметре ip.


Ссылки по теме



This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий