Гео-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 (або HTTPS) з використанням методу GET. Адреси базових сервісів:

При побудові запиту до сервіса можна передавати такі параметри:

Існує скорочена форма передачі параметрів "host" та "type" в URL. Наприклад:

Да післе адреси сервису geoip-xml першим параметром задається "host", а за ним "type".

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

ПРИЙМІТЬ ДО УВАГИ: JSON версія API також підтримує JSONP. Ім'я параметру, який визначає назву функції для визову - "callback". Так, щоб виконати коректний JSONP-запит слід звернутися до сервісу за таким URL:

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

ПРИЙМІТЬ ДО УВАГИ: XML версія API підтримує міждоменні запити для Flash та Silverlight за допомогою стандартного crossdomain.xml

Приклади використання

У вас є приклад використання нашого API, і ви хочете опубліковати його на цій сторінці? Надішліть його нам.

Будь ласка, зауважте, що ми залишаємо за собою повне право відмовитися від публікацій на наш власний розсуд.

7-денна статистика використання Гео-IP API