Гео-IP API

Общая информация

Сервис Гео-IP имеет интерфейсы для полученя данных в форматах XML или JSON через HTTP или HTTPS-соединение, что позволяет разработчикам интегрировать данный сервис с другими веб-сайтами.

В целом, интеграция может происходить как на стороне клиента (веб-браузера), так и на стороне сервера. Следует принять во внимание, что при клиентской или серверной интеграции ограничения, описаные ниже, будут иметь принципиальные отличия.

Ограничения

Мы ограничиваем количество запросов с одного IP-адреса к нашему сервису в 5000 запросов в сутки.

Таким образом при клиентской интеграции (на стороне браузера), конечным потребителем гео-IP-данных будет посетитель сайта и ограничения будут накладываться на посетителя. При серверной интнграции, конечным потребителем данных выступит сервер, что существенно снизит доступ к данным для посетителей такого сайта.

Другими словами, клиентская интеграция позволяет обеспечить 5000 запросов на каждого посетителя сайта, серверная интеграция даст лишь 5000 запросов в сутки на всех посетителей.

Тем не менее, вам может потребоваться именно вариант серверной интеграци. Если это так, но вам также требуется большее количество запросов - напишите нам.

ВАЖНО! Пожалуйста, прочитайте также "Наикратчайшие пути к бану при использовании Гео-IP API"

Структура данных

Данные поставляемые сервисом отдаются в кодировке UTF-8. При удачном запросе сервис вернет данные, содержащие следующие поля:

Пример XML-ответа

<?xml version="1.0" encoding="UTF-8"?>
<geoip>
    <source>smart-ip.net</source>
    <host>193.178.146.17</host>
    <lang>ru</lang>
    <countryName>Украина</countryName>
    <countryCode>UA</countryCode>
    <city>Киев</city>
    <region>Киевская область</region>
    <latitude>50.4333</latitude>
    <longitude>30.5167</longitude>
    <timezone>Europe/Kiev</timezone>
</geoip>

Пример JSON-ответа

{
    "source":"smart-ip.net",
    "host":"193.178.146.17",
    "lang":"ru",
    "countryName":"\u0423\u043a\u0440\u0430\u0438\u043d\u0430",
    "countryCode":"UA",
    "city":"\u041a\u0438\u0435\u0432",
    "region":"\u041a\u0438\u0435\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c",
    "latitude":50.4333,
    "longitude":30.5167,
    "timezone":"Europe/Kiev"
}

Ошибки

В случае возникновения ошибок при работе сервиса, будет возвращена ошибка, также в XML или в JSON формате на языке запроса. Например:

Пример XML-ответа с ошибкой

<?xml version="1.0" encoding="UTF-8"?>
<geoip><error>Не удается разрешить имя хоста!</error></geoip>

Пример JSON-ответа с ошибкой

{
    "error":"Cannot resolve host name!"
}

Построение запросов

Все запросы к сервису Гео-IP осуществляются по протоколу HTTP используя метод GET. Адреса базовых сервисов:

При построении зпроса к сервису могут быть переданы следующие параметры:

Существует сокращенная форма передачи параметров "host" и "type" в URL. Например:

Где после адреса сервиса geoip-xml первым параметром задается "host", а за ним "type".

Параметр "lang" может быть задан только в QERY_STRING, например: http://ru.smart-ip.net/geoip-xml/google.com/auto?lang=en

ПРИМИТЕ К СВЕДЕНИЮ: JSON версия API также поддерживает JSONP. Имя параметра который определяет имя функции для вызова - "callback". Т.о., чтобы выполнить корректный JSONP-запрос следует вызвать такой URL:

http://ru.smart-ip.net/geoip-json/11.22.33.44?callback=_function_name_

ПРИМИТЕ К СВЕДЕНИЮ: XML версия API поддерживает междоменные запросы во Flash и Silverlight с помощью стандартного crossdomain.xml

Примеры использования

Здесь мы собираем и публикуем некоторые, интересные, по-нашему мнению, примеры использования.

У вас есть пример использования нашего API, и вы хотели бы опубликовать его на этой странице? Пришлите его нам.

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

7-дневная статистика использования Гео-IP API

Последние изменения: 27.11.2013 1:09:08