PowerShell
PowerShell
MaxMind IPv4 Geolocation Lookup
See more Geolocation Examples
Demonstrates how to lookup Geolocation data for an IPv4 address using the MaxMind GeoIP2 Precision Web Service.Chilkat PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
$success = $false
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$http = New-Object Chilkat.Http
$http.Login = "MAXMIND_ACCOUNT_ID"
$http.Password = "MAXMIND_LICENSE_KEY"
$http.Accept = "application/json"
# Lookup an IPv4 address: 149.250.207.170 (this was a randomly chosen address)
$jsonStr = $http.QuickGetStr("https://geoip.maxmind.com/geoip/v2.1/country/149.250.207.170")
if ($http.LastMethodSuccess -eq $false) {
$($http.LastErrorText)
exit
}
$json = New-Object Chilkat.JsonObject
$json.EmitCompact = $false
$success = $json.Load($jsonStr)
$($json.Emit())
# Sample output:
# Use this online tool to generate parsing code from sample JSON:
# Generate Parsing Code from JSON
# {
# "continent": {
# "code": "EU",
# "geoname_id": 6255148,
# "names": {
# "ja": "?????",
# "pt-BR": "Europa",
# "ru": "??????",
# "zh-CN": "??",
# "de": "Europa",
# "en": "Europe",
# "es": "Europa",
# "fr": "Europe"
# }
# },
# "country": {
# "is_in_european_union": true,
# "iso_code": "DE",
# "geoname_id": 2921044,
# "names": {
# "fr": "Allemagne",
# "ja": "????????",
# "pt-BR": "Alemanha",
# "ru": "????????",
# "zh-CN": "??",
# "de": "Deutschland",
# "en": "Germany",
# "es": "Alemania"
# }
# },
# "maxmind": {
# "queries_remaining": 49999
# },
# "registered_country": {
# "is_in_european_union": true,
# "iso_code": "DE",
# "geoname_id": 2921044,
# "names": {
# "es": "Alemania",
# "fr": "Allemagne",
# "ja": "????????",
# "pt-BR": "Alemanha",
# "ru": "????????",
# "zh-CN": "??",
# "de": "Deutschland",
# "en": "Germany"
# }
# },
# "traits": {
# "ip_address": "149.250.207.170"
# }
# }
#
#
$continentCode = $json.StringOf("continent.code")
$continentGeoname_id = $json.IntOf("continent.geoname_id")
$continentNamesJa = $json.StringOf("continent.names.ja")
$continentNamesPt_BR = $json.StringOf("continent.names.pt-BR")
$continentNamesRu = $json.StringOf("continent.names.ru")
$continentNamesZh_CN = $json.StringOf("continent.names.zh-CN")
$continentNamesDe = $json.StringOf("continent.names.de")
$continentNamesEn = $json.StringOf("continent.names.en")
$continentNamesEs = $json.StringOf("continent.names.es")
$continentNamesFr = $json.StringOf("continent.names.fr")
$countryIs_in_european_union = $json.BoolOf("country.is_in_european_union")
$countryIso_code = $json.StringOf("country.iso_code")
$countryGeoname_id = $json.IntOf("country.geoname_id")
$countryNamesFr = $json.StringOf("country.names.fr")
$countryNamesJa = $json.StringOf("country.names.ja")
$countryNamesPt_BR = $json.StringOf("country.names.pt-BR")
$countryNamesRu = $json.StringOf("country.names.ru")
$countryNamesZh_CN = $json.StringOf("country.names.zh-CN")
$countryNamesDe = $json.StringOf("country.names.de")
$countryNamesEn = $json.StringOf("country.names.en")
$countryNamesEs = $json.StringOf("country.names.es")
$maxmindQueries_remaining = $json.IntOf("maxmind.queries_remaining")
$registered_countryIs_in_european_union = $json.BoolOf("registered_country.is_in_european_union")
$registered_countryIso_code = $json.StringOf("registered_country.iso_code")
$registered_countryGeoname_id = $json.IntOf("registered_country.geoname_id")
$registered_countryNamesEs = $json.StringOf("registered_country.names.es")
$registered_countryNamesFr = $json.StringOf("registered_country.names.fr")
$registered_countryNamesJa = $json.StringOf("registered_country.names.ja")
$registered_countryNamesPt_BR = $json.StringOf("registered_country.names.pt-BR")
$registered_countryNamesRu = $json.StringOf("registered_country.names.ru")
$registered_countryNamesZh_CN = $json.StringOf("registered_country.names.zh-CN")
$registered_countryNamesDe = $json.StringOf("registered_country.names.de")
$registered_countryNamesEn = $json.StringOf("registered_country.names.en")
$traitsIp_address = $json.StringOf("traits.ip_address")