Sample code for 30+ languages & platforms
PowerBuilder

ip2location.io GeoLocation API

See more Geolocation Examples

Demonstrates how to lookup Geolocation data for an IPv4 address using the ip2location.io GeoLocation 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_Country_code
string ls_Country_name
string ls_Region_name
string ls_City_name
string ls_Latitude
string ls_Longitude
string ls_Zip_code
string ls_Time_zone
string ls_Asn
string ls_V_as
integer li_Is_proxy

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

// Note: This is not a real API key.  Replace with your own...
loo_Http.SetUrlVar("api_key","2C312FBC9E667E5A0211F5152E5A1333")
loo_Http.SetUrlVar("ip_address","8.8.8.8")

// Note: When first creating an ip2location.io account, make sure to at least subscribe to the free access.
// Otherwise your API key will not yet work..
ls_JsonStr = loo_Http.QuickGetStr("https://api.ip2location.io/?key={$api_key}&ip={$ip_address}&format=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": "8.8.8.8",
//   "country_code": "US",
//   "country_name": "United States of America",
//   "region_name": "California",
//   "city_name": "Mountain View",
//   "latitude": 37.405992,
//   "longitude": -122.078515,
//   "zip_code": "94043",
//   "time_zone": "-07:00",
//   "asn": "15169",
//   "as": "Google LLC",
//   "is_proxy": false
// }

ls_Ip = loo_Json.StringOf("ip")
ls_Country_code = loo_Json.StringOf("country_code")
ls_Country_name = loo_Json.StringOf("country_name")
ls_Region_name = loo_Json.StringOf("region_name")
ls_City_name = loo_Json.StringOf("city_name")
ls_Latitude = loo_Json.StringOf("latitude")
ls_Longitude = loo_Json.StringOf("longitude")
ls_Zip_code = loo_Json.StringOf("zip_code")
ls_Time_zone = loo_Json.StringOf("time_zone")
ls_Asn = loo_Json.StringOf("asn")
ls_V_as = loo_Json.StringOf("as")
li_Is_proxy = loo_Json.BoolOf("is_proxy")


destroy loo_Http
destroy loo_Json