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
Laden Sie neue Sperrbildschirmhintergründe von Windows 10 Build 10558 herunter

Laden Sie neue Sperrbildschirmhintergründe von Windows 10 Build 10558 herunter

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

Weiterlesen

Windows 10 Mail zeigt möglicherweise Anzeigen für Nicht-Office-365-Abonnenten an

Windows 10 Mail zeigt möglicherweise Anzeigen für Nicht-Office-365-Abonnenten an

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

Weiterlesen

Laden Sie Windows 10 Build 10558 Lockscreen-Bilder herunter (Spotlight)

Diese Website verwendet Cookies, um Ihre Erfahrung beim Navigieren durch die Website zu verbesser...

Weiterlesen