Sample code for 30+ languages & platforms
PowerBuilder

ipapi.co IPv4 Geolocation Lookup

See more Geolocation Examples

Demonstrates how to lookup Geolocation data for an IPv4 address using the ipapi.co REST API.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Http
string ls_JsonStr
oleobject loo_Json
string ls_Ip
string ls_City
string ls_Region
string ls_Region_code
string ls_Country
string ls_Country_name
string ls_Continent_code
integer li_In_eu
string ls_Postal
string ls_Latitude
string ls_Longitude
string ls_Timezone
string ls_Utc_offset
string ls_Country_calling_code
string ls_Currency
string ls_Languages
string ls_Asn
string ls_Org

li_Success = 0

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

loo_Http = create oleobject
li_rc = loo_Http.ConnectToNewObject("Chilkat.Http")
if li_rc < 0 then
    destroy loo_Http
    MessageBox("Error","Connecting to COM object failed")
    return
end if

// Lookup an IPv4 address: 149.250.207.170  (this was a randomly chosen address)
ls_JsonStr = loo_Http.QuickGetStr("https://ipapi.co/149.250.207.170/json")
if loo_Http.LastMethodSuccess = 0 then
    Write-Debug loo_Http.LastErrorText
    destroy loo_Http
    return
end if

loo_Json = create oleobject
li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject")

loo_Json.EmitCompact = 0
li_Success = loo_Json.Load(ls_JsonStr)

Write-Debug loo_Json.Emit()

// Sample output:
// Use this online tool to generate parsing code from sample JSON: 
// Generate Parsing Code from JSON

// {
//   "ip": "149.250.207.170",
//   "city": "B�blingen",
//   "region": "Baden-W�rttemberg",
//   "region_code": null,
//   "country": "DE",
//   "country_name": "Germany",
//   "continent_code": "EU",
//   "in_eu": true,
//   "postal": null,
//   "latitude": null,
//   "longitude": null,
//   "timezone": null,
//   "utc_offset": null,
//   "country_calling_code": "+49",
//   "currency": "EUR",
//   "languages": "de",
//   "asn": "AS15854",
//   "org": "EntServ Deutschland GmbH"
// }

ls_Ip = loo_Json.StringOf("ip")
ls_City = loo_Json.StringOf("city")
ls_Region = loo_Json.StringOf("region")
ls_Region_code = loo_Json.StringOf("region_code")
ls_Country = loo_Json.StringOf("country")
ls_Country_name = loo_Json.StringOf("country_name")
ls_Continent_code = loo_Json.StringOf("continent_code")
li_In_eu = loo_Json.BoolOf("in_eu")
ls_Postal = loo_Json.StringOf("postal")
ls_Latitude = loo_Json.StringOf("latitude")
ls_Longitude = loo_Json.StringOf("longitude")
ls_Timezone = loo_Json.StringOf("timezone")
ls_Utc_offset = loo_Json.StringOf("utc_offset")
ls_Country_calling_code = loo_Json.StringOf("country_calling_code")
ls_Currency = loo_Json.StringOf("currency")
ls_Languages = loo_Json.StringOf("languages")
ls_Asn = loo_Json.StringOf("asn")
ls_Org = loo_Json.StringOf("org")


destroy loo_Http
destroy loo_Json