Windows Tips & News

Gaukite IP adreso geografinės vietos informaciją „Bash“ sistemoje „Linux“.

click fraud protection
REKOMENDUOJAMAS: Spustelėkite čia, kad išspręstumėte „Windows“ problemas ir optimizuotumėte sistemos našumą

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

Skelbimas


Norėdami gauti geografinės vietos informaciją apie konkretų IP adresą, turite naudoti tam tikrą internetinę paslaugą, kuri teikia atitinkamą API. Norint išvengti įgaliojimų suteikimo procedūros ir API rakto valdymo, naudinga naudoti kai kurias viešąsias paslaugas. Viena iš tokių paslaugų yra FreeGeoIP.net.

Tai suteikia viešą HTTP API, leidžiančią ieškoti IP adresų geografinės vietos. Ji naudoja IP adresų, susietų su miestais, duomenų bazę ir kitą svarbią informaciją, pvz., laiko juostą, platumą ir ilgumą. Tai labai naudinga.

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

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

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

Paleiskite užklausą su curl ir pamatykime išvestį:

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

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

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

Naudodami jq galite filtruoti išvestį ir padaryti ją tik reikiamus laukus. Ši komanda parodys tik šalies pavadinimą, platumą ir ilgumą:

garbanoti http://freegeoip.net/json/119.94.116.145|jq -r '.šalies_pavadinimas,.platuma,.ilguma'

filtruojamas pagal geografinę užklausąŠią komandą galite išsaugoti kaip šį apvalkalo scenarijų:

#!/bin/sh. garbanos -s http://freegeoip.net/json/$1|jq -r '.šalies_pavadinimas,.platuma,.ilguma'

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

./geo.sh IP_adresas

Viskas.

REKOMENDUOJAMAS: Spustelėkite čia, kad išspręstumėte „Windows“ problemas ir optimizuotumėte sistemos našumą
„Bash on Ubuntu“ gavo didžiulį „Windows 10 build 14361“ atnaujinimą

„Bash on Ubuntu“ gavo didžiulį „Windows 10 build 14361“ atnaujinimą

REKOMENDUOJAMAS: Spustelėkite čia, kad išspręstumėte „Windows“ problemas ir optimizuotumėte siste...

Skaityti daugiau

Atsisiųskite Išjungti VPN tarptinklinio ryšio metu

Ši svetainė naudoja slapukus, kad pagerintų jūsų patirtį naršant svetainėje. Iš šių slapukų slapu...

Skaityti daugiau

Ištrinkite laukiančius naujinimus sistemoje „Windows 10“.

Ištrinkite laukiančius naujinimus sistemoje „Windows 10“.

„Windows 10“ nustatyta automatiškai tikrinti, ar nėra naujinimų, nebent jūs išjunkite šią funkcij...

Skaityti daugiau