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
Windows 10 Redstone 2 Build 14901 ist für Insider verfügbar

Windows 10 Redstone 2 Build 14901 ist für Insider verfügbar

Microsoft hat heute den ersten öffentlichen Build des nächsten Feature-Updates für Windows 10 ver...

Weiterlesen

Windows 10 verhindert, dass Apps automatisch Archive installieren

Viele Benutzer haben festgestellt, dass Windows 10 integrierte (bereitgestellte) Erstanbieter aut...

Weiterlesen

Windows 10 Freigabeseitenarchive

Ab Windows 10 Creators Update ist es einfach, eine in Microsoft Edge geöffnete Seite freizugeben....

Weiterlesen