Pagrindinis „Linux“ Gaukite „IP“ adreso geografinę vietą „Bash“ sistemoje „Linux“

Gaukite „IP“ adreso geografinę vietą „Bash“ sistemoje „Linux“



Palikti atsakymą

Kartais reikia greitai gauti IP adreso geografinės vietos informaciją. Sistemoje „Linux“ galite naudoti konsolės programų galią, kad sutaupytumėte laiko ir greitai gautumėte šią informaciją. Pažiūrėkime, kaip tai galima padaryti.

Reklama


Norėdami gauti geografinės vietos informaciją apie konkretų IP adresą, turite naudoti internetinę paslaugą, teikiančią tinkamą API. Geriausia naudoti kai kurias viešąsias paslaugas, kad būtų išvengta autorizavimo procedūros ir API rakto valdymo. Viena tokių paslaugų yra FreeGeoIP.net.

Jis teikia viešą HTTP API, skirtą ieškoti IP adresų geografinės vietos. Ji naudoja su miestais susietų IP adresų duomenų bazę kartu su kita svarbia informacija, pvz., Laiko juosta, platuma ir ilguma. Tai labai naudinga.

Paslauga gali pateikti paieškos rezultatus kaip JSON arba XML. Taigi, jei sujungsime garbanojimą su JSON analizatoriumi, galime gauti reikiamą informaciją.

kaip pridėti dainas į snapchat

Aš naudosiu savo mėgstamą JSON analizatorių, jq:

jq-in-reposTai labai lengvas ir greitas.

Mūsų atveju užklausa turėtų būti tokia:

http://freegeoip.net/json/119.94.116.145

„Json“ dalis yra norimas duomenų formatas. Be JSON, tai gali būti XML arba CSV.

Paleiskime užklausą su garbanomis ir pamatykime išvestį:

geo-query-rawRezultatas yra neapdorota JSON išvestis, kurią sunku perskaityti. Norėdami pagerinti rezultatų rinkinio išvaizdą, naudokime įrankį jq. Derinkite jį su garbanomis taip:

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

Išvestį bus lengviau perskaityti:geografinės užklausos filtruojamas

Naudodami jq, galite išfiltruoti išvestį ir leisti jai rodyti tik būtinus laukus. Ši komanda parodys tik šalies pavadinimą, platumą ir ilgumą:

garbanos http://freegeoip.net/json/119.94.116.145|jq -r '.country_name, .latitude, .longitude'

Galite išsaugoti šią komandą kaip šį apvalkalo scenarijų:

#! / bin / sh curl -s http://freegeoip.net/json/|jq -r '.country_name, .latitude, .longitude'

Kitą kartą, kai reikės gauti geografinės vietos informacijos, scenarijų galite vykdyti taip:

./geo.sh IP_adresas

Viskas.

Įdomios Straipsniai

Redaktoriaus Pasirinkimas

Žymų archyvai: „Windows 10“ užrakto ekrano fonai
Žymų archyvai: „Windows 10“ užrakto ekrano fonai
Kaip įjungti / išjungti „Caps Lock“ „Chromebook“.
Kaip įjungti / išjungti „Caps Lock“ „Chromebook“.
„Google“ pašalino „Caps Lock“ klavišą „Chromebook“, tačiau jie visiškai neatsisakė šios funkcijos. Štai kaip „Chromebook“ įjungti ir išjungti didžiųjų raidžių klavišą.
„Death Stranding“ išleidimo data: „Tokyo Game Show“ laukite naujos informacijos, sako Kojima
„Death Stranding“ išleidimo data: „Tokyo Game Show“ laukite naujos informacijos, sako Kojima
„Death Stranding“ pasirodys šių metų Tokijo žaidimų šou rugsėjo 23 d. Naujienos ateina, kai kūrėjas „Kojima Productions“ paskelbė „Twitter“, paaiškindamas, kad ji turės specialų scenos šou su kūrėju Hideo Kojima ir
Ar galite „Nintendo Switch“ žiūrėti vaizdo įrašus iš SD kortelės?
Ar galite „Nintendo Switch“ žiūrėti vaizdo įrašus iš SD kortelės?
Kai kurie „Switch“ vartotojai įdomu, ar jie gali naudoti savo konsolę vaizdo įrašams žiūrėti tiesiai iš „micro SD“ kortelės. Turint „Switch“ galimybę skaityti duomenis iš šios laikmenos turėtų būti galimybė iš jos peržiūrėti laikmenas
Kaip padidinti šrifto dydį „Kodi“ failų sąraše
Kaip padidinti šrifto dydį „Kodi“ failų sąraše
Tai yra labai paprastas būdas padidinti failų sąrašo šrifto dydį „Kodi“ medijos centro programoje.
Kodėl pranešimas išsiųstas, bet ne pristatytas naudojant „Messenger“.
Kodėl pranešimas išsiųstas, bet ne pristatytas naudojant „Messenger“.
Ar kyla problemų siunčiant žinutes naudojant „Facebook Messenger“ programą? Nors programa paprastai veikia be problemų, kartais ji susiduria su klaida. Tačiau yra ir kitų priežasčių, dėl kurių jūsų pranešimai gali pasirodyti išsiųsti, bet nepristatyti. Šis straipsnis
Kaip atnaujinti iš „Android Lollipop“ į „Android 10“
Kaip atnaujinti iš „Android Lollipop“ į „Android 10“
Jei naudojate senesnę „Android“ versiją, pvz., „Lollipop“ ar net „Marshmallow“, gali būti laikas atnaujinti į naujausią „Android 10“ versiją. Priklausomai nuo jūsų įrenginio, tikriausiai laikas atnaujinti į