PowerBuilder
PowerBuilder
ipinfo.io IPv4 Geolocation Lookup
See more Geolocation Examples
Demonstrates how to lookup Geolocation data for an IPv4 address using the ipinfo.io API.Chilkat PowerBuilder Downloads
integer li_rc
integer li_Success
oleobject loo_Http
string ls_JsonStr
oleobject loo_Json
string ls_Ip
string ls_Hostname
string ls_City
string ls_Region
string ls_Country
string ls_Loc
string ls_Postal
string ls_AsnAsn
string ls_AsnName
string ls_AsnDomain
string ls_AsnRoute
string ls_AsnType
string ls_CompanyName
string ls_CompanyDomain
string ls_CompanyType
string ls_CarrierName
string ls_CarrierMcc
string ls_CarrierMnc
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
loo_Http.Login = "ACCESS_TOKEN"
loo_Http.Password = ""
loo_Http.Accept = "application/json"
// Lookup an IPv4 address: 149.250.207.170 (this was a randomly chosen address)
ls_JsonStr = loo_Http.QuickGetStr("https://ipinfo.io/149.250.207.170")
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
// Note: This is the output for the free trial account.
//
// {
// "ip": "149.250.207.170",
// "city": "",
// "region": "",
// "country": "DE",
// "loc": "51.2993,9.4910",
// "org": "AS15854 EntServ Deutschland GmbH"
// }
// A full response would look like this:
// {
// "ip": "66.87.125.72",
// "hostname": "66-87-125-72.pools.spcsdns.net",
// "city": "Southbridge",
// "region": "Massachusetts",
// "country": "US",
// "loc": "42.0707,-72.0440",
// "postal": "01550",
// "asn": {
// "asn": "AS10507",
// "name": "Sprint Personal Communications Systems",
// "domain": "spcsdns.net",
// "route": "66.87.125.0/24",
// "type": "isp"
// },
// "company": {
// "name": "Sprint Springfield POP",
// "domain": "sprint.com",
// "type": "isp"
// },
// "carrier": {
// "name": "Sprint",
// "mcc": "310",
// "mnc": "120"
// }
// }
//
ls_Ip = loo_Json.StringOf("ip")
ls_Hostname = loo_Json.StringOf("hostname")
ls_City = loo_Json.StringOf("city")
ls_Region = loo_Json.StringOf("region")
ls_Country = loo_Json.StringOf("country")
ls_Loc = loo_Json.StringOf("loc")
ls_Postal = loo_Json.StringOf("postal")
ls_AsnAsn = loo_Json.StringOf("asn.asn")
ls_AsnName = loo_Json.StringOf("asn.name")
ls_AsnDomain = loo_Json.StringOf("asn.domain")
ls_AsnRoute = loo_Json.StringOf("asn.route")
ls_AsnType = loo_Json.StringOf("asn.type")
ls_CompanyName = loo_Json.StringOf("company.name")
ls_CompanyDomain = loo_Json.StringOf("company.domain")
ls_CompanyType = loo_Json.StringOf("company.type")
ls_CarrierName = loo_Json.StringOf("carrier.name")
ls_CarrierMcc = loo_Json.StringOf("carrier.mcc")
ls_CarrierMnc = loo_Json.StringOf("carrier.mnc")
destroy loo_Http
destroy loo_Json