Windows Tips & News

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

click fraud protection
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
Aggiungi connettività di rete in standby a Opzioni risparmio energia in Windows 10

Aggiungi connettività di rete in standby a Opzioni risparmio energia in Windows 10

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

Leggi di più

Modifica Spegni display dopo il tempo in Windows 10

Modifica Spegni display dopo il tempo in Windows 10

Come cambiare la disattivazione dello schermo dopo il tempo in Windows 10In Windows 10, puoi spec...

Leggi di più

Il kernel Linux 5.2 è disponibile con l'opzione Ext4 senza distinzione tra maiuscole e minuscole

Il kernel Linux 5.2 è disponibile con l'opzione Ext4 senza distinzione tra maiuscole e minuscole

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

Leggi di più