Få Geolocation-information för IP-adress i Windows 10
I vår tidigare artikel såg vi hur man får geolokaliseringsinformation för en IP-adress med bash, curl och jq i Linux. Låt oss se hur detsamma kan göras i Windows 10. Vi kan använda Bash på Linux eller PowerShell för samma ändamål.
Annons
Återigen kommer vi att använda gratistjänsten "freegeoip.net" som en källa för geolokaliseringsinformationen. Det tillhandahåller ett offentligt HTTP-API för att söka efter geolokalisering av IP-adresser. Den använder en databas med IP-adresser som är associerade med städer tillsammans med annan relevant information som tidszon, latitud och longitud. Detta är mycket användbart.
Få Geolocation-information för IP-adress i Windows 10 med Bash på Ubuntu
Om du har Bash på Linux installerat kan du använda det i det här fallet. Du måste installera jq-konsolens JSON-parser. Gör det enligt följande.
- Öppna Bash på Ubuntu. Du kanske måste installera den först. Se följande artikel:
Hur man aktiverar Ubuntu Bash i Windows 10Tips: du kan lägg till Bash på Ubuntu till Utforskarens snabbmeny för att snabbt öppna den i valfri mapp. - Skriv följande kommando:
sudo apt-get install jq
Applikationen kommer att installeras:
- Nu kan du använda följande kommando:
ringla http://freegeoip.net/json/119.94.116.145>tmpjson.txt && jq '.' tmpjson.txt && rm tmpjson.txt
Utgången:
Det är samma kommando I används i den inbyggda Linux-miljön, men det finns ett fel. I Windows 10 har Bash on Ubuntu brutit stöd för pipeline-utdata. På grund av detta problem kan du inte kombinera flera verktyg för att fungera tillsammans ordentligt.
Så jag använde en tillfällig fil 'tmpjson.txt' som lagrar serversvaret och sedan raderas.
Om du inte är en användare av Bash på Ubuntu kan du använda PowerShell istället.
Få Geolocation-information för IP-adress i Windows 10 med PowerShell
Öppna en ny instans av PowerShell enligt beskrivningen här: Alla sätt att öppna PowerShell i Windows 10
Istället för curl-verktyget kan du använda cmdleten Invoke-RestMethod. Den är speciellt skapad för att fungera med REST-tjänster (Representational State Transfer) som vanligtvis returnerar JSON- eller XML-data.
Syntaxen är som följer:
Invoke-RestMethod -Method Get -Uri http://freegeoip.net/json/119.94.116.145
Resultatet av kommandot blir som följer:
Du behöver inte ens använda ytterligare formatering på kommandot. Det visas redan snyggt i utgången.
Det är allt.