Регистрация Войти
Войти через VK




Поиск по сайту



PHP Поиск



API Получения информации о местоположении посетителя
на основе его IP адреса (API координаты)

Для получения координат посетителя(широта, долгота, город) Вы можете воспользоваться нашим API

Большинство API функций сервиса htmlweb.ru совершенно бесплатны. Идентификация нужна для исключения злоупотреблений и позволяет разделить количество запросов от разных пользователей. Ограничения на бесплатные запросы и тарификация описана здесь.

Мы предлагаем Вам два варианта идентификации:

  1. API_KEY из_профиля для обращения со стороны сервера из PHP. API_KEY может быть передан как GET так и POST запросом.
    Не размещайте ключ API_KEY в открытом доступе и в javascript. Он фактически заменяет ваши логин пароль и дает возможность использовать весь функционал Вашего аккаунта, включая платные функции.
  2. HTTP_REFERER для обращения из javascript. Для этого необходимо добавить домен, с которого Вы будете обращаться в Мои сайты. При этом параметр API_KEY НЕ должен передаваться в запросе. Для исключения несанкционированного обращения и невозможности подмены HTTP_REFERER проверяется ip адрес домена, с которого идет обращение. При переносе сайта или при смене ip адреса не забудьте обновить данные в Мои сайты.

Ключи выбора формата:

  1. html - HTML-формат.
  2. json - JSON-формат
  3. xml - XML-формат

Для указания кодирования ответа в нужном вам формате добавьте в запрос параметр html или json или xml, например:

http://htmlweb.ru/geo/api.php?ip&html&charset=utf-8&api_key=xxxx

При возврате в формате JSON возврашается заголовок header('Access-Control-Allow-Origin: *') - разрешающий кроссдоменные запросы.

Ключ выбора кодировки charset=:

  1. windows-1251 по умолчанию все отдается в кодировке windows-1251
  2. utf-8 unicode - кодировка UTF-8. Пример: charset=utf-8
  3. а также другие: koi-8, ISO-8859-1, ISO-8859-15, cp866, cp1252, KOI8-R

fields - какие поля включать в ответ, например:
http://htmlweb.ru/geo/api.php?ip&sql=pb_city&fields=id,name,english,area,rajon,country

Если Вам нужен другой формат или другая кодировка, а также обо всех найденных проблемах и пожеланиях сообщайте нам.



Структура API запроса для получения информации по ip адресу:

http://htmlweb.ru/geo/api.php?html&ip=IP_АДРЕС&api_key=API_KEY_из_профиля

Структура API запроса для получения информации по ip адресу в json-формате:

http://htmlweb.ru/geo/api.php?json&ip=IP_АДРЕС&api_key=API_KEY_из_профиля

Для получения информации о текущем ip укажите пустое значение ip:

http://htmlweb.ru/geo/api.php?html&ip&api_key=API_KEY_из_профиля

Для получения краткой информации укажите параметр short:

http://htmlweb.ru/geo/api.php?html&short&ip&api_key=API_KEY_из_профиля

Для получения дополнительной информации из регистрационной базы данных(Whois) укажите параметр whois:

http://htmlweb.ru/geo/api.php?html&whois&ip&api_key=API_KEY_из_профиля

Пример для получения информации в html-формате с Вашим API_KEY:

http://htmlweb.ru/geo/api.php?html&ip&api_key=НЕДОСТУПНО_БЕЗ_РЕГИСТРАЦИИ

Ответ для html:

Город: Ростов-на-Дону (rostov-na-donu) Wiki
Регион: Ростовская область Wiki, Областной центр: Ростов-на-Дону
Округ: Южный федеральный округ
Страна: Россия RU Wiki(Российская Федерация, Russia, ISO:643) , Столица Москва 1
Часть света: Европа
Код страны(2): RU
Код страны(3): RUS
Широта: 47.233189
Долгота: 39.715000
Телефонный код страны: +7
Телефонный код города: 863
Автомобильный код региона: 61,161
Временная зона(Time Zone,UTC,GMT): +4
Осталось 50 запросов до 21:05:58 09.10.2013

Краткий (short) html-ответ:

Город: Ростов-на-Дону
Регион: Ростовская область
Округ: Южный федеральный округ
Страна: Россия

Ответ для json:

{   'ip':'93.178.64.171',
    'country_id':'RU',
    'country':'Россия',
    'region_id':49,
    'region':'Ростовская область',
    'region_iso':'',
    'okrug':'Южный федеральный округ',
    'rajon':'',
    'rajon_id':0,
    'city_id':1711,
    'city':'Ростов-на-Дону',
    'city_english':'rostov-na-donu',
    'city_telcod':863,
    'latitude':'47.233189',
    'longitude':'39.715000',
    'autocod':'61,161',
    'capital2_id':1711,
    'capital2':'Ростов-на-Дону',
    'fullname':'Российская Федерация',
    'english':'Russia','country_code3':'RUS',
    'iso':643,'country_telcod':7,
    'location':'Европа','capital_id':1,
    'capital':'Москва','time_zone':4,
    'charset':'','api':'\/geo\/api.php',
    'upd':'1373297221',
    'limit':50
}

Краткий (short) json-ответ:

{   'country_id':'RU',
    'country':'Россия',
    'region_id':49,
    'region':'Ростовская область',
    'okrug':'Южный федеральный округ',
    'rajon_id':0,
    'rajon':'',
    'city_id':1711,
    'city':'Ростов-на-Дону',
    'limit':50
}

Общие параметры для всех API сервисов

api_key - уникальный ключ, указан в вашем личном кабинете.

html или не задано - получить информацию в html формате, удобно для вывода в DIV-блок

json - получить информацию в json формате, удобно для заполнения INPUT-полей или преобразования в массив для дальнейшей обработки на Javascript или PHP.
Для Вашего удобства поддерживается формат JSONP. Вы можете добавить параметр &jsonp=ИМЯ_ФУНКЦИИ:
<script type="application/javascript"
src="http://htmlweb.ru/service/api.php?bic=043469751&json&jsonp=parseResponse"></script>
будет возвращен следующий код:

  parseResponse({"name":"ОАО КБ \"РЕГИОНАЛЬНЫЙ КРЕДИТ\"", "city":"КОСТРОМА", ...., "limit":50});

xml - получить информацию в xml формате, удобно для обращения из PHP

sql[=имя_таблицы] - получить информацию в sql формате. Удобно для вставки информации в базу MySql с помощью phpMyAdmin.

charset - по умолчанию все данные возвращаются в кодировке windows-1251, Для получения любой другой кодировки передайте её в дополнительном, необязательном параметре charset: &charset=utf-8 или любой из ISO-8859-1, ISO-8859-15, utf-8, cp866, cp1251, cp1252, and KOI8-R

fields - какие поля включать в ответ, например:
http://htmlweb.ru/geo/api.php?city=1&sql=pb_city&fields=id,name,english,area,rajon,country

limit - определяет количество оставшихся запросов до конца суток для бесплатных запросов или количество запросов до окончания тарифа при платных. Ограничения на бесплатные запросы и тарификация описана здесь.

Параметры можно передавать как GET, так и POST - запросом.

Запрос можно отправлять как по протоколу http:// так и по https://.

Если передан неверный запрос, возвращается HTTP-код ошибки: "400 Bad Request"

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

Сервисы, на которых можно ещё получить информацию об ip адресе
  • freegeoip.net/{format:csv, xml or json}/{ip_or_hostname}[?calback=ИМЯ_JS_ФУНКЦИИ] - плохая поддержка Российских IP

.

Популярное:


Содержание:


Новое за неделю



Сейчас на сайте: 1352