Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) ip-api.com IPv4 Geolocation LookupDemonstrates how to lookup Geolocation data for an IPv4 address using the ip-api.com API.
IncludeFile "CkJsonObject.pb" IncludeFile "CkHttp.pb" Procedure ChilkatExample() ; 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://ip-api.com/json/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.i = 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 ; { ; "as": "AS15854 Hewlett Packard GmbH", ; "city": "Bblingen", ; "country": "Germany", ; "countryCode": "DE", ; "isp": "Triaton Frankfurt", ; "lat": 48.6779, ; "lon": 8.97297, ; "org": "EntServ Deutschland GmbH", ; "query": "149.250.207.170", ; "region": "BW", ; "regionName": "Baden-Wrttemberg", ; "status": "success", ; "timezone": "Europe/Berlin", ; "zip": "71034" ; } as.s city.s country.s countryCode.s isp.s lat.s lon.s org.s query.s region.s regionName.s status.s timezone.s zip.s as = CkJsonObject::ckStringOf(json,"as") city = CkJsonObject::ckStringOf(json,"city") country = CkJsonObject::ckStringOf(json,"country") countryCode = CkJsonObject::ckStringOf(json,"countryCode") isp = CkJsonObject::ckStringOf(json,"isp") lat = CkJsonObject::ckStringOf(json,"lat") lon = CkJsonObject::ckStringOf(json,"lon") org = CkJsonObject::ckStringOf(json,"org") query = CkJsonObject::ckStringOf(json,"query") region = CkJsonObject::ckStringOf(json,"region") regionName = CkJsonObject::ckStringOf(json,"regionName") status = CkJsonObject::ckStringOf(json,"status") timezone = CkJsonObject::ckStringOf(json,"timezone") zip = CkJsonObject::ckStringOf(json,"zip") CkHttp::ckDispose(http) CkJsonObject::ckDispose(json) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.