Определить город по IP адресу

Писал ранее об API ipinfo.io. Сервис позволяет вытащить как гео координаты, так и названия города, региона, страны. Единственный недостаток — информация на английском языке. В данной статье рассмотрим пару примеров использования сервиса.

Обращение к ipinfo.io из PHP

Нас интересует расшифровка ip адреса посетителя, потому адрес запроса должен его содержать в явном виде. Иначе мы получим гео информацию о сервере, где выполняется PHP код.

Для выполнения запроса используем библиотеку curl.

Пример ответа сервера:

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

Поддерживается и ipv6 формат адресов.

Если требуются русские (кириллические) названия и территориальное определение адресов, ограниченных РФ, то возможно вам подойдет другой сервис — IPGeoBase.

IPinfo разрешает выполнить 1000 запросов/сутки бесплатно. Не сложно реализовать кеширование обращений к серверу и/или отсечку ботов, чтобы не тратить квоту зря.

Обращение к ipinfo.io из JS (jQuery)

На сайте ipinfo.io есть множество примеров. Я кое что собрал из них, кое что дополнил, в итоге получилась вот такая рабочая заготовка.

Типичные задачи

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

В общем то вы можете перекодировать полученные гео-координаты в ближайший адрес, используя API карт Яндекс или Гугл.

Написать комментарий

Мало букафф? Читайте есчо !

Используем API Яндекс карт для геокодирования

Май 1, 2017 г.

Функция geocode из API карт Яндекс работает в обе стороны. Получив строку адреса - сервис будет искать известные адреса и сообщит вам гео-коордитаны среди ...

Читать

Как получить bounds, зная центр области и радиус?

Февраль 20, 2019 г.

Да, речь идет о map.google.api. Типичная задача преобразования, т.к. многие объекты и службы карт Гугл работают с bounds, а на практике задача ставится исходя из центра и области. Для перевода воспользуемся объектом гугл: google.maps.Circle. ...

Читать

 

Комментарии к «Определить город по IP адресу»

Понравилась статья? Есть вопросы? - пишите в комментариях.



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