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
(PowerBuilder) ipstack.com IPv4 Geolocation LookupDemonstrates how to lookup Geolocation data for an IPv4 address using the ipstack.com REST API.
integer li_rc oleobject loo_Http string ls_JsonStr oleobject loo_Json integer li_Success string ls_Ip string ls_V_type string ls_Continent_code string ls_Continent_name string ls_Country_code string ls_Country_name string ls_Region_code string ls_Region_name string ls_City string ls_Zip string ls_Latitude string ls_Longitude string ls_LocationGeoname_id string ls_LocationCapital string ls_LocationCountry_flag string ls_LocationCountry_flag_emoji string ls_LocationCountry_flag_emoji_unicode string ls_LocationCalling_code integer li_LocationIs_eu integer i integer li_Count_i string ls_Code string ls_Name string ls_Native // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. loo_Http = create oleobject // Use "Chilkat_9_5_0.Http" for versions of Chilkat < 10.0.0 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("http://api.ipstack.com/149.250.207.170?access_key=YOUR_ACCESS_KEY") if loo_Http.LastMethodSuccess = 0 then Write-Debug loo_Http.LastErrorText destroy loo_Http return end if loo_Json = create oleobject // Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 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", // "type": "ipv4", // "continent_code": "EU", // "continent_name": "Europe", // "country_code": "DE", // "country_name": "Germany", // "region_code": null, // "region_name": null, // "city": null, // "zip": null, // "latitude": 51.2993, // "longitude": 9.491, // "location": { // "geoname_id": null, // "capital": "Berlin", // "languages": [ // { // "code": "de", // "name": "German", // "native": "Deutsch" // } // ], // "country_flag": "http:\/\/assets.ipstack.com\/flags\/de.svg", // "country_flag_emoji": "\ud83c\udde9\ud83c\uddea", // "country_flag_emoji_unicode": "U+1F1E9 U+1F1EA", // "calling_code": "49", // "is_eu": true // } // } ls_Ip = loo_Json.StringOf("ip") ls_V_type = loo_Json.StringOf("type") ls_Continent_code = loo_Json.StringOf("continent_code") ls_Continent_name = loo_Json.StringOf("continent_name") ls_Country_code = loo_Json.StringOf("country_code") ls_Country_name = loo_Json.StringOf("country_name") ls_Region_code = loo_Json.StringOf("region_code") ls_Region_name = loo_Json.StringOf("region_name") ls_City = loo_Json.StringOf("city") ls_Zip = loo_Json.StringOf("zip") ls_Latitude = loo_Json.StringOf("latitude") ls_Longitude = loo_Json.StringOf("longitude") ls_LocationGeoname_id = loo_Json.StringOf("location.geoname_id") ls_LocationCapital = loo_Json.StringOf("location.capital") ls_LocationCountry_flag = loo_Json.StringOf("location.country_flag") ls_LocationCountry_flag_emoji = loo_Json.StringOf("location.country_flag_emoji") ls_LocationCountry_flag_emoji_unicode = loo_Json.StringOf("location.country_flag_emoji_unicode") ls_LocationCalling_code = loo_Json.StringOf("location.calling_code") li_LocationIs_eu = loo_Json.BoolOf("location.is_eu") i = 0 li_Count_i = loo_Json.SizeOfArray("location.languages") do while i < li_Count_i loo_Json.I = i ls_Code = loo_Json.StringOf("location.languages[i].code") ls_Name = loo_Json.StringOf("location.languages[i].name") ls_Native = loo_Json.StringOf("location.languages[i].native") i = i + 1 loop destroy loo_Http destroy loo_Json |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.