Ponekad morate brzo dobiti podatke o geolokaciji za IP adresu. U Linuxu možete koristiti snagu konzola za uštedu vremena i brzi pristup tim informacijama. Pogledajmo kako se to može učiniti.
Oglas
Da biste dobili podatke o geografskom položaju o određenoj IP adresi, morate koristiti neku internetsku uslugu koja pruža odgovarajući API. Dobra je ideja koristiti neku javnu uslugu kako biste izbjegli postupak autorizacije i upravljanje API ključem. Jedna od takvih usluga je FreeGeoIP.net.
Pruža javni HTTP API za pretraživanje geolokacije IP adresa. Koristi bazu podataka IP adresa koje su povezane s gradovima, zajedno s ostalim relevantnim informacijama poput vremenske zone, geografske širine i dužine. Ovo je vrlo korisno.
Usluga može pružiti rezultate pretraživanja u obliku JSON ili XML. Dakle, ako kombiniramo curl s nekim JSON parserom, možemo dobiti potrebne informacije.
kako vidjeti nekome instagram sviđa
Koristit ću svoj omiljeni JSON parser, jq:
Vrlo je lagan i brz.
U našem slučaju, upit bi trebao biti sljedeći:
http://freegeoip.net/json/119.94.116.145
Ovdje je 'json' dio željeni format podataka. Osim JSON-a, to može biti XML ili CSV.
Pokrenimo upit s curlom i pogledajte izlaz:
Rezultat je sirovi JSON izlaz koji je teško pročitati. Da bismo poboljšali izgled skupa rezultata, upotrijebimo jq alat. Kombinirajte ga s uvojkom na sljedeći način:
uvojak http://freegeoip.net/json/119.94.116.145|jq
Izlaz će biti lakši za čitanje:
Pomoću jq možete filtrirati izlaz i učiniti da prikazuje samo potrebna polja. Sljedeća naredba prikazat će samo naziv države, geografsku širinu i dužinu:
curl http://freegeoip.net/json/119.94.116.145|jq -r '.ime_zemlje, .širina, .dužina'
Ovu naredbu možete spremiti kao sljedeću skriptu ljuske:
#! / bin / sh curl -s http://freegeoip.net/json/|jq -r '.ime_zemlje, .širina, .dužina'
Sljedeći put kada budete trebali dobiti podatke o geolokaciji, svoju skriptu možete izvršiti ovako:
./geo.sh IP_address
To je to.