Obtenha informações de geolocalização do endereço IP no Windows 10
Em nosso artigo anterior, vimos como obter as informações de geolocalização de um endereço IP usando o bash, curl e jq no Linux. Vamos ver como o mesmo pode ser feito no Windows 10. Podemos usar o Bash no Linux ou PowerShell para o mesmo propósito.
Propaganda
Novamente, usaremos o serviço gratuito "freegeoip.net" como fonte de informações de geolocalização. Ele fornece uma API HTTP pública para pesquisar a geolocalização de endereços IP. Ele usa um banco de dados de endereços IP associados a cidades, juntamente com outras informações relevantes, como fuso horário, latitude e longitude. Isso é muito útil.
Obtenha informações de geolocalização do endereço IP no Windows 10 usando Bash no Ubuntu
Se você tiver o Bash no Linux instalado, poderá usá-lo neste caso. Você precisa instalar o analisador JSON do console jq. Faça o seguinte.
- Abra o Bash no Ubuntu. Pode ser necessário instalá-lo primeiro. Veja o seguinte artigo:
Como habilitar o Ubuntu Bash no Windows 10Dica: você pode adicione Bash no Ubuntu ao menu de contexto do Explorer para abri-lo em qualquer pasta desejada rapidamente. - Digite o seguinte comando:
sudo apt-get install jq
O aplicativo será instalado:
- Agora você pode usar o seguinte comando:
ondulação http://freegeoip.net/json/119.94.116.145>tmpjson.txt && jq '.' tmpjson.txt && rm tmpjson.txt
A saída:
É o mesmo comando que eu usado no ambiente Linux nativo, no entanto, há uma falha. No Windows 10, o Bash no Ubuntu quebrou o suporte para saída de pipeline. Devido a esse problema, você não pode combinar várias ferramentas para trabalhar em conjunto de forma adequada.
Usei um arquivo temporário 'tmpjson.txt' que armazena a resposta do servidor e é excluído.
Se você não é um usuário do Bash no Ubuntu, pode usar o PowerShell.
Obtenha informações de geolocalização do endereço IP no Windows 10 usando PowerShell
Abra uma nova instância do PowerShell conforme descrito aqui: Todas as maneiras de abrir o PowerShell no Windows 10
Em vez da ferramenta curl, você pode usar o cmdlet Invoke-RestMethod. Ele é especialmente criado para trabalhar com serviços REST (Representational State Transfer) que geralmente retornam dados JSON ou XML.
A sintaxe é a seguinte:
Invoke-RestMethod -Method Get -Uri http://freegeoip.net/json/119.94.116.145
O resultado do comando será o seguinte:
Você nem mesmo precisa aplicar formatação adicional ao comando. Já está bem exibido na saída.
É isso.