Sample code for 30+ languages & platforms
Visual Basic 6.0

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 Visual Basic 6.0 Downloads

Visual Basic 6.0
Dim success As Long
success = 0

' This example requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.

Dim http As New ChilkatHttp

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)
Dim jsonStr As String
jsonStr = http.QuickGetStr("https://geoip.maxmind.com/geoip/v2.1/country/149.250.207.170")
If (http.LastMethodSuccess = 0) Then
    Debug.Print http.LastErrorText
    Exit Sub
End If

Dim json As New ChilkatJsonObject
json.EmitCompact = 0
success = json.Load(jsonStr)

Debug.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"
'   }
' }
' 
' 
Dim continentCode As String
Dim continentGeoname_id As Long
Dim continentNamesJa As String
Dim continentNamesPt_BR As String
Dim continentNamesRu As String
Dim continentNamesZh_CN As String
Dim continentNamesDe As String
Dim continentNamesEn As String
Dim continentNamesEs As String
Dim continentNamesFr As String
Dim countryIs_in_european_union As Long
Dim countryIso_code As String
Dim countryGeoname_id As Long
Dim countryNamesFr As String
Dim countryNamesJa As String
Dim countryNamesPt_BR As String
Dim countryNamesRu As String
Dim countryNamesZh_CN As String
Dim countryNamesDe As String
Dim countryNamesEn As String
Dim countryNamesEs As String
Dim maxmindQueries_remaining As Long
Dim registered_countryIs_in_european_union As Long
Dim registered_countryIso_code As String
Dim registered_countryGeoname_id As Long
Dim registered_countryNamesEs As String
Dim registered_countryNamesFr As String
Dim registered_countryNamesJa As String
Dim registered_countryNamesPt_BR As String
Dim registered_countryNamesRu As String
Dim registered_countryNamesZh_CN As String
Dim registered_countryNamesDe As String
Dim registered_countryNamesEn As String
Dim traitsIp_address As String

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")