Как определить страну и город по IP адресу, javascript?

tsumbaluk.in.ua 5 Октябрь 2016

Недавно была интересная задача нужно было в зависимости от страны пользователя отправлять форму на привязанный за ней email. Знаю что существует масса решений на бекенде с помощью PHP, но поскольку я Front-end здесь речь пойдет о javascript. Итак, перечитав кучу статей и просмотрев море ресурсов описывающих как все же узнать на front-end де локацию пользователя наткнулся на отличную API с помощью которой можно узнать Страну, регион, город, код страны, координаты, IP и другие данные о пользователе.
Вы найдете её вот по этой Geolocation API ссылке. Вот тут документация.

Как узнать страну по IP?

далее делаем запрос к Geolocation API

$.getJSON("http://ip-api.com/json/?callback=?", function(data) {
            var list_body = "";
            $.each(data, function(k, v) {
                list_body += "" + k + ""+ v + "";
            });
            $("#GeoResults").html(table_body);
        });

тут делается запрос к внешнему API получаем ответ в формате JSON далее циклом перебираем объект и помещаем в таблицу с id #GeoResults данные ответа. Таблицу с таким id вы можете поместить во front-end в любое место

Если вам необходимы не все данные ответа:

$.getJSON("http://ip-api.com/json/?callback=?", function(data) {
        var country = data.country, // страна пользователя
	        ip      = data.query; //ip пользователя
        console.log(country + "," + ip);  // Выводим в консоль результат         
    });

Зайти на сайт с другого региона

Для тестирования Geolocation API я использовал proxy server, итак, как это сделать?
Идем:
настройки браузера > показать дополнительные настройки > Изменить настройки прокси-сервера

настройка proxy

На скриншоте нас интересуют пункты 6 и 7. Вот по этой ссылке вы найдете то что вам нужно. Выбираем страну и копируем любой понравившийся ip и порт. Далее ok, применить, обновляем браузер. proxy list

Новое в блоге

Modx Revo multilanguage babel
tsumbaluk.in.ua || 05.03.2017

Modx Revo multilanguage babel

Node package manager publish package
tsumbaluk.in.ua || 11.02.2017

Node package manager publish package

Modx перенос на сервер или туда и обратно
tsumbaluk.in.ua || 01.11.2016

Modx перенос на сервер или туда и обратно

Gulp инструмент для удобной и быстрой front-end разработки!
tsumbaluk.in.ua || 05.10.2016

Gulp инструмент для удобной и быстрой front-end разработки!

Particles.js что это такое?
tsumbaluk.in.ua || 05.10.2016

Particles.js что это такое?

Инфографика в портфолио, блоге
tsumbaluk.in.ua || 05.10.2016

Инфографика в портфолио, блоге