Windows Tips & News

Ottieni informazioni di geolocalizzazione dell'indirizzo IP in Bash in Linux

CONSIGLIATO: Fare clic qui per risolvere i problemi di Windows e ottimizzare le prestazioni del sistema

A volte è necessario ottenere rapidamente le informazioni di geolocalizzazione per un indirizzo IP. In Linux, puoi utilizzare la potenza delle app per console per risparmiare tempo e recuperare rapidamente queste informazioni. Vediamo come si può fare.

Annuncio


Per ottenere le informazioni sulla posizione geografica su un indirizzo IP specifico, è necessario utilizzare alcuni servizi online che forniscono l'API appropriata. È una buona idea utilizzare qualche servizio pubblico per evitare la procedura di autorizzazione e la gestione delle chiavi API. Uno di questi servizi è FreeGeoIP.net.

Fornisce un'API HTTP pubblica per cercare la geolocalizzazione degli indirizzi IP. Utilizza un database di indirizzi IP associati alle città insieme ad altre informazioni rilevanti come fuso orario, latitudine e longitudine. Questo è molto utile.

Il servizio può fornire risultati di ricerca come JSON o XML. Quindi, se combiniamo curl con un parser JSON, possiamo ottenere le informazioni richieste.

Userò il mio parser JSON preferito, jq:

jq-in-reposÈ molto leggero e veloce.

Per il nostro caso, la query dovrebbe essere la seguente:

http://freegeoip.net/json/119.94.116.145

La parte "json" qui è il formato dati desiderato. Oltre a JSON, può essere XML o CSV.

Eseguiamo la query con curl e vediamo l'output:

geo-query-rawIl risultato è un output JSON non elaborato che è difficile da leggere. Per migliorare l'aspetto del set di risultati, utilizziamo lo strumento jq. Combinalo con curl come segue:

arricciare http://freegeoip.net/json/119.94.116.145|jq

L'output sarà più facile da leggere:geo-query-formattato

Usando jq, puoi filtrare l'output e fargli mostrare solo i campi richiesti. Il seguente comando visualizzerà solo il nome del paese, la latitudine e la longitudine:

arricciare http://freegeoip.net/json/119.94.116.145|jq -r '.nome_paese,.latitudine,.longitudine'

geo-query-filtratoPuoi salvare questo comando come il seguente script di shell:

#!/bin/sh. curl -s http://freegeoip.net/json/$1|jq -r '.nome_paese,.latitudine,.longitudine'

La prossima volta che hai bisogno di ottenere informazioni di geolocalizzazione, puoi eseguire il tuo script in questo modo:

./geo.sh indirizzo_IP

Questo è tutto.

CONSIGLIATO: Fare clic qui per risolvere i problemi di Windows e ottimizzare le prestazioni del sistema
19H2 Build 18362.1006 Rilasciato per selezionare un piccolo gruppo di addetti ai lavori

19H2 Build 18362.1006 Rilasciato per selezionare un piccolo gruppo di addetti ai lavori

Lascia un commentoMicrosoft sta rilasciando un nuovo aggiornamento per un piccolo gruppo selezion...

Leggi di più

Windows 10 Build 18362.10005 (19H2, suoneria lenta)

Windows 10 Build 18362.10005 (19H2, suoneria lenta)

CONSIGLIATO: Fare clic qui per risolvere i problemi di Windows e ottimizzare le prestazioni del s...

Leggi di più

Come verificare se un processo è in esecuzione come amministratore (elevato) in Windows

Come verificare se un processo è in esecuzione come amministratore (elevato) in Windows

3 risposteDa quando Windows Vista ha introdotto il controllo dell'account utente, è stato necessa...

Leggi di più