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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Создание кастомного элемента управления на гугл карте

Ноябрь 14, 2018 г.

Штатные элементы управления карт google практически невозможно кастомизировать, потому приходится создавать кастомные элементы, которым можно придать нужный ...

Читать

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

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

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

Читать

 

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

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



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