Windows Tips & News

Obțineți informații de localizare geografică a adresei IP în Bash în Linux

click fraud protection
RECOMANDAT: Faceți clic aici pentru a remedia problemele Windows și a optimiza performanța sistemului

Uneori trebuie să obțineți rapid informațiile de localizare geografică pentru o adresă IP. În Linux, puteți folosi puterea aplicațiilor de consolă pentru a vă economisi timp și pentru a prelua rapid aceste informații. Să vedem cum se poate face.

Publicitate


Pentru a obține informații despre locația geografică despre o anumită adresă IP, trebuie să utilizați un serviciu online care oferă API-ul corespunzător. Este o idee bună să folosiți un serviciu public pentru a evita procedura de autorizare și gestionarea cheilor API. Un astfel de serviciu este FreeGeoIP.net.

Oferă un API public HTTP pentru a căuta geolocalizarea adreselor IP. Utilizează o bază de date de adrese IP care sunt asociate cu orașele, împreună cu alte informații relevante, cum ar fi fusul orar, latitudinea și longitudinea. Acest lucru este foarte util.

Serviciul poate oferi rezultate de căutare ca JSON sau XML. Deci, dacă combinăm curl cu un analizor JSON, putem obține informațiile necesare.

Voi folosi analizatorul meu JSON preferat, jq:

jq-in-reposEste foarte ușor și rapid.

Pentru cazul nostru, interogarea ar trebui să fie după cum urmează:

http://freegeoip.net/json/119.94.116.145

Porțiunea „json” de aici este formatul de date dorit. Pe lângă JSON, poate fi XML sau CSV.

Să rulăm interogarea cu curl și să vedem rezultatul:

geo-interogare-rawRezultatul este o ieșire JSON brută, care este greu de citit. Pentru a îmbunătăți aspectul setului de rezultate, să folosim instrumentul jq. Combinați-l cu bucle după cum urmează:

răsuci http://freegeoip.net/json/119.94.116.145|jq

Rezultatul va fi mai ușor de citit:geo-formatat-interogare

Folosind jq, puteți filtra rezultatul și îl puteți face să afișeze numai câmpurile necesare. Următoarea comandă va afișa numai numele țării, latitudinea și longitudinea:

răsuci http://freegeoip.net/json/119.94.116.145|jq -r „.nume_țară,.latitudine,.longitudine”

geo-interogare-filtratPuteți salva această comandă ca următorul script shell:

#!/bin/sh. curl -s http://freegeoip.net/json/$1|jq -r „.nume_țară,.latitudine,.longitudine”

Data viitoare când trebuie să obțineți informații de localizare geografică, puteți executa scriptul astfel:

./geo.sh adresa_IP

Asta e.

RECOMANDAT: Faceți clic aici pentru a remedia problemele Windows și a optimiza performanța sistemului
Descărcați noi imagini de fundal implicite din Windows 10 build 10154

Descărcați noi imagini de fundal implicite din Windows 10 build 10154

RECOMANDAT: Faceți clic aici pentru a remedia problemele Windows și a optimiza performanța sistem...

Citeste mai mult

Microsoft a închis Cortana pe Android și iOS

Microsoft a închis Cortana pe Android și iOS

RECOMANDAT: Faceți clic aici pentru a remedia problemele Windows și pentru a optimiza performanța...

Citeste mai mult

Arhive jurnal de modificări Thunderbird 38.0.1

Acest site web folosește cookie-uri pentru a vă îmbunătăți experiența în timp ce navigați pe site...

Citeste mai mult