В нашей предыдущей статье мы увидели, как получить информацию о геолокации для 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
Приложение будет установлено:
- Теперь вы можете использовать следующую команду:
curl 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 - Метод Get -Uri http://freegeoip.net/json/119.94.116.145
Результат выполнения команды будет следующим:
Вам даже не нужно применять дополнительное форматирование к команде. Он уже хорошо отображается на выходе.