Получить информацию о геолокации IP-адреса в Windows 10
В нашей предыдущей статье мы видели как получить информацию о геолокации для IP-адреса с помощью bash, curl и jq в Linux. Давайте посмотрим, как то же самое можно сделать в Windows 10. Мы можем использовать Bash в Linux или PowerShell для той же цели.
Рекламное объявление
Опять же, мы будем использовать бесплатный сервис «freegeoip.net» в качестве источника информации о геолокации. Он предоставляет общедоступный HTTP API для поиска геолокации IP-адресов. Он использует базу данных IP-адресов, связанных с городами, а также другую важную информацию, такую как часовой пояс, широта и долгота. Это очень полезно.
Получите информацию о геолокации IP-адреса в Windows 10 с помощью Bash в Ubuntu
Если у вас установлен Bash в Linux, вы можете использовать его в этом случае. Вам необходимо установить парсер JSON консоли jq. Сделайте это следующим образом.
- Откройте Bash в Ubuntu. Возможно, вам сначала потребуется установить его. См. Следующую статью:
Как включить Ubuntu Bash в Windows 10Совет: вы можете добавить Bash в Ubuntu в контекстное меню проводника чтобы быстро открыть его в любой желаемой папке. - Введите следующую команду:
sudo apt-get install jq
Приложение будет установлено:
- Теперь вы можете использовать следующую команду:
завиток http://freegeoip.net/json/119.94.116.145>tmpjson.txt && jq '.' tmpjson.txt && rm tmpjson.txt
Выход:
Это та же самая команда, которую я используется в родной среде LinuxОднако есть глюк. В Windows 10 Bash на Ubuntu не поддерживает конвейерный вывод. Из-за этой проблемы вы не можете комбинировать несколько инструментов для правильной совместной работы.
Поэтому я использовал временный файл tmpjson.txt, в котором хранится ответ сервера, который затем удаляется.
Если вы не являетесь пользователем Bash в Ubuntu, вы можете вместо этого использовать PowerShell.
Получите информацию о геолокации IP-адреса в Windows 10 с помощью PowerShell
Откройте новый экземпляр PowerShell, как описано здесь: Все способы открыть PowerShell в Windows 10
Вместо инструмента curl можно использовать командлет Invoke-RestMethod. Он специально создан для работы со службами REST (передача репрезентативного состояния), которые обычно возвращают данные JSON или XML.
Синтаксис следующий:
Invoke-RestMethod -Method Get -Uri http://freegeoip.net/json/119.94.116.145
Результат выполнения команды будет следующим:
Вам даже не нужно применять к команде дополнительное форматирование. Это уже красиво отображается на выходе.
Вот и все.