PureBasic
PureBasic
api.db-ip.com IPv4 Geolocation Lookup
See more Geolocation Examples
Demonstrates how to lookup Geolocation data for an IPv4 address using the api.db-ip.com REST API.Chilkat PureBasic Downloads
IncludeFile "CkJsonObject.pb"
IncludeFile "CkHttp.pb"
Procedure ChilkatExample()
success.i = 0
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; Lookup an IPv4 address: 149.250.207.170 (this was a randomly chosen address)
jsonStr.s = CkHttp::ckQuickGetStr(http,"http://api.db-ip.com/v2/free/149.250.207.170")
If CkHttp::ckLastMethodSuccess(http) = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
ProcedureReturn
EndIf
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::setCkEmitCompact(json, 0)
success = CkJsonObject::ckLoad(json,jsonStr)
Debug CkJsonObject::ckEmit(json)
; Sample output:
; Use this online tool to generate parsing code from sample JSON:
; Generate Parsing Code from JSON
; {
; "ipAddress": "149.250.207.170",
; "continentCode": "EU",
; "continentName": "Europe",
; "countryCode": "DE",
; "countryName": "Germany",
; "stateProv": "Baden-W\u00fcrttemberg",
; "city": "B\u00f6blingen"
; }
ipAddress.s
continentCode.s
continentName.s
countryCode.s
countryName.s
stateProv.s
city.s
ipAddress = CkJsonObject::ckStringOf(json,"ipAddress")
continentCode = CkJsonObject::ckStringOf(json,"continentCode")
continentName = CkJsonObject::ckStringOf(json,"continentName")
countryCode = CkJsonObject::ckStringOf(json,"countryCode")
countryName = CkJsonObject::ckStringOf(json,"countryName")
stateProv = CkJsonObject::ckStringOf(json,"stateProv")
city = CkJsonObject::ckStringOf(json,"city")
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(json)
ProcedureReturn
EndProcedure