DataFlex
DataFlex
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 DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoHttp
String sJsonStr
Handle hoJson
String sIp
String sHostname
String sCity
String sRegion
String sCountry
String sLoc
String sPostal
String sAsnAsn
String sAsnName
String sAsnDomain
String sAsnRoute
String sAsnType
String sCompanyName
String sCompanyDomain
String sCompanyType
String sCarrierName
String sCarrierMcc
String sCarrierMnc
String sTemp1
Boolean bTemp1
Move False To iSuccess
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatHttp)) To hoHttp
If (Not(IsComObjectCreated(hoHttp))) Begin
Send CreateComObject of hoHttp
End
Set ComLogin Of hoHttp To "ACCESS_TOKEN"
Set ComPassword Of hoHttp To ""
Set ComAccept Of hoHttp To "application/json"
// Lookup an IPv4 address: 149.250.207.170 (this was a randomly chosen address)
Get ComQuickGetStr Of hoHttp "https://ipinfo.io/149.250.207.170" To sJsonStr
Get ComLastMethodSuccess Of hoHttp To bTemp1
If (bTemp1 = False) Begin
Get ComLastErrorText Of hoHttp To sTemp1
Showln sTemp1
Procedure_Return
End
Get Create (RefClass(cComChilkatJsonObject)) To hoJson
If (Not(IsComObjectCreated(hoJson))) Begin
Send CreateComObject of hoJson
End
Set ComEmitCompact Of hoJson To False
Get ComLoad Of hoJson sJsonStr To iSuccess
Get ComEmit Of hoJson To sTemp1
Showln sTemp1
// 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"
// }
// }
//
Get ComStringOf Of hoJson "ip" To sIp
Get ComStringOf Of hoJson "hostname" To sHostname
Get ComStringOf Of hoJson "city" To sCity
Get ComStringOf Of hoJson "region" To sRegion
Get ComStringOf Of hoJson "country" To sCountry
Get ComStringOf Of hoJson "loc" To sLoc
Get ComStringOf Of hoJson "postal" To sPostal
Get ComStringOf Of hoJson "asn.asn" To sAsnAsn
Get ComStringOf Of hoJson "asn.name" To sAsnName
Get ComStringOf Of hoJson "asn.domain" To sAsnDomain
Get ComStringOf Of hoJson "asn.route" To sAsnRoute
Get ComStringOf Of hoJson "asn.type" To sAsnType
Get ComStringOf Of hoJson "company.name" To sCompanyName
Get ComStringOf Of hoJson "company.domain" To sCompanyDomain
Get ComStringOf Of hoJson "company.type" To sCompanyType
Get ComStringOf Of hoJson "carrier.name" To sCarrierName
Get ComStringOf Of hoJson "carrier.mcc" To sCarrierMcc
Get ComStringOf Of hoJson "carrier.mnc" To sCarrierMnc
End_Procedure