Mõnikord peate IP-aadressi geograafilise asukoha teabe kiiresti hankima. Linuxis saate oma aja säästmiseks ja selle teabe kiireks hankimiseks kasutada konsoolirakenduste jõudu. Vaatame, kuidas seda saab teha.
Reklaam
Konkreetse IP-aadressi geograafilise asukoha teabe saamiseks peate kasutama mõnda veebiteenust, mis pakub sobivat API-d. Autoriseerimisprotseduuri ja API võtmete haldamise vältimiseks on hea kasutada mõnda avalikku teenust. Üks selline teenus on FreeGeoIP.net.
See pakub avalikku HTTP API-d IP-aadresside geograafilise asukoha otsimiseks. See kasutab linnadega seotud IP-aadresside andmebaasi koos muu asjakohase teabega, nagu ajavöönd, laius- ja pikkuskraad. See on väga kasulik.
Teenus võib pakkuda otsingutulemusi JSON või XML. Seega, kui ühendame lokke mõne JSON-i parseriga, saame vajaliku teabe.
kuidas lubada iPhone'is leviala
Ma kasutan oma lemmik JSON-i parserit jq:
See on väga kerge ja kiire.
Meie puhul peaks päring olema järgmine:
http://freegeoip.net/json/119.94.116.145
„Jsoni” osa on siin soovitud andmevorming. Lisaks JSONile võib see olla XML või CSV.
Käivitame päringu lokiga ja näeme väljundit:
Tulemuseks on toores JSON-väljund, mida on raske lugeda. Tulemuskomplekti välimuse parandamiseks kasutame tööriista jq. Kombineerige see lokiga järgmiselt:
lokkima http://freegeoip.net/json/119.94.116.145|jq
Väljundit on lihtsam lugeda:
Jq abil saate väljundi filtreerida ja panna selle näitama ainult nõutavaid väljad. Järgmine käsk kuvab ainult riigi nime, laius- ja pikkuskraadi:
lokkima http://freegeoip.net/json/119.94.116.145|jq -r '.maa_nimi, .latitude, .longitude'
Selle käsu saate salvestada järgmise shelliskriptina:
#! / bin / sh curl -s http://freegeoip.net/json/|jq -r '.maa_nimi,. laiuskraad,. pikkus'
Järgmine kord, kui peate hankima geograafilise asukoha teabe, saate oma skripti käivitada järgmiselt:
./geo.sh IP-aadress
See selleks.