Chilkat2-Python
Chilkat2-Python
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 Chilkat2-Python Downloads
import sys
import chilkat2
success = False
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
http = chilkat2.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 == False):
print(http.LastErrorText)
sys.exit()
json = chilkat2.JsonObject()
json.EmitCompact = False
success = json.Load(jsonStr)
print(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")