Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Информация

Требует лицензию на модули address и ip.

Включить страницу
SGTDOC:О «Подсказках»: город по IP-адресу
SGTDOC:О «Подсказках»: город по
Определение местоположения по
IP-адресу

URL: {base_path}/detectAddressByIp

Метод: GET

Запрос

POST (21.1+):

Без форматирования
curl -X POST \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{ "ip": "185.65.148.8", "language": "ru" }' \
  http://ВАШ_СЕРВЕР:ПОРТ/suggestions/api/4_1/rs/iplocate/address

GET:

Без форматирования
curl -X GET \
  -H "Accept: application/json" \
  http://ВАШ_СЕРВЕР:ПОРТ/suggestions/api/4_1/rs/iplocate/address?ip=185.65.148.8
Раскрыть
titleДля версии 19.1 и ранее
Без форматирования
curl -X GET \
  -H "Accept: application/json" \
  http://ВАШ_СЕРВЕР:ПОРТ/suggestions/api/4_1/rs/detectAddressByIp?ip=185.65.148.8

Включить страницу
_Заголовки (API)
_Заголовки (API)

Параметры

ПараметрОбязательный?Описание
ipнетIP-адрес. Если не указан, используется IP-адрес из HTTP-запроса
language
нетЯзык отображения адреса в результатах поиска (en/ru) 20.3+


Ответ (19.1+)

Объект В качестве ответа возвращается объект вида:

Блок кода
{
    "location": {
        "value": "г Москва",
        "unrestricted_value":  Москва",
        "data": { ... }
    }
}

Где location — это объект адреса .

Если местоположение определить не удалось, то location = null:

Без форматирования
{
    "location": null
}
Раскрыть
titleОтвет для версий 18.12 и раньше

Объект вида:

Блок кода
{
    "location": {
        "value": "
83
185.
220
65.
54.223"
148.8",
        "unrestricted_value": null,
        "data": { ... }
    }
}

...

Где location.value

...

 — это IP-адрес клиента,

...

а location.

...

data заполнен аналогично полю data в объекте адреса.


Алгоритм выбора IP-адреса из параметров запроса

Без форматирования
ЕСЛИ

Алгоритм определения IP адреса следующий:

Без форматирования
Если IP указан в параметре ip
ТО
   использовать его
ИНАЧЕ
   ЕслиЕСЛИ IP указан в HTTP-заголовке X-Forwarded-For
   ТО
       использовать его
    ИНАЧЕ
       вернуть IP сокета соединения

...