Windows Tips & News

Holen Sie sich Geolocation-Informationen der IP-Adresse in Bash in Linux

EMPFOHLEN: Klicken Sie hier, um Windows-Probleme zu beheben und die Systemleistung zu optimieren

Manchmal müssen Sie die Geolokalisierungsinformationen für eine IP-Adresse schnell abrufen. Unter Linux können Sie die Leistungsfähigkeit von Konsolen-Apps nutzen, um Zeit zu sparen und diese Informationen schnell abzurufen. Mal sehen, wie es gemacht werden kann.

Werbung


Um die geografischen Standortinformationen zu einer bestimmten IP-Adresse zu erhalten, müssen Sie einen Onlinedienst verwenden, der die entsprechende API bereitstellt. Es ist eine gute Idee, einen öffentlichen Dienst zu nutzen, um das Autorisierungsverfahren und die API-Schlüsselverwaltung zu umgehen. Ein solcher Service ist FreeGeoIP.net.

Es bietet eine öffentliche HTTP-API, um die Geolokalisierung von IP-Adressen zu durchsuchen. Es verwendet eine Datenbank mit IP-Adressen, die mit Städten verbunden sind, zusammen mit anderen relevanten Informationen wie Zeitzone, Breiten- und Längengrad. Dies ist sehr nützlich.

Der Dienst kann Suchergebnisse als JSON oder XML bereitstellen. Wenn wir curl mit einem JSON-Parser kombinieren, können wir die erforderlichen Informationen erhalten.

Ich werde meinen Lieblings-JSON-Parser, jq, verwenden:

jq-in-reposEs ist sehr leicht und schnell.

In unserem Fall sollte die Abfrage wie folgt lauten:

http://freegeoip.net/json/119.94.116.145

Der "json"-Teil ist hier das gewünschte Datenformat. Neben JSON kann es sich um XML oder CSV handeln.

Lassen Sie uns die Abfrage mit curl ausführen und die Ausgabe sehen:

Geo-Abfrage-rohDas Ergebnis ist eine unformatierte JSON-Ausgabe, die schwer zu lesen ist. Um das Erscheinungsbild des Resultsets zu verbessern, verwenden wir das jq-Tool. Kombinieren Sie es mit curl wie folgt:

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

Die Ausgabe wird einfacher zu lesen sein:Geo-Abfrage-formatiert

Mit jq können Sie die Ausgabe filtern und nur die erforderlichen Felder anzeigen. Der folgende Befehl zeigt nur den Ländernamen, Breitengrad und Längengrad an:

Locken http://freegeoip.net/json/119.94.116.145|jq -r '.Landesname,.Breite,.Länge'

nach Geo-Abfragen gefiltertSie können diesen Befehl als folgendes Shell-Skript speichern:

#!/bin/sh. curl -s http://freegeoip.net/json/$1|jq -r '.Landesname,.Breite,.Länge'

Wenn Sie das nächste Mal Geolocation-Informationen benötigen, können Sie Ihr Skript wie folgt ausführen:

./geo.sh IP_Adresse

Das ist es.

EMPFOHLEN: Klicken Sie hier, um Windows-Probleme zu beheben und die Systemleistung zu optimieren
Microsoft Movies & TV App im Fast Ring mit AutoPlay-Funktion aktualisiert

Microsoft Movies & TV App im Fast Ring mit AutoPlay-Funktion aktualisiert

Hinterlasse eine AntwortMicrosoft hat seine Erstanbieter-Apps, die in Windows 10 ausgeliefert wer...

Weiterlesen

Ausgewählten Text in Google über das Kontextmenü in Edge suchen

Ausgewählten Text in Google über das Kontextmenü in Edge suchen

Die Möglichkeit, den ausgewählten Text mit der Standardsuchmaschine zu durchsuchen, ist in allen ...

Weiterlesen

Linux Mint 18.1 "Serena" Stable ist raus

Linux Mint 18.1 "Serena" Stable ist raus

Hinterlasse eine AntwortDas Team hinter der beliebten Linux Mint-Distribution hat heute eine neue...

Weiterlesen