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
(C++) ipstack.com IPv4 Geolocation LookupDemonstrates how to lookup Geolocation data for an IPv4 address using the ipstack.com REST API.
#include <CkHttp.h> #include <CkJsonObject.h> void ChilkatSample(void) { // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkHttp http; // Lookup an IPv4 address: 149.250.207.170 (this was a randomly chosen address) const char *jsonStr = http.quickGetStr("http://api.ipstack.com/149.250.207.170?access_key=YOUR_ACCESS_KEY"); if (http.get_LastMethodSuccess() == false) { std::cout << http.lastErrorText() << "\r\n"; return; } CkJsonObject json; json.put_EmitCompact(false); bool success = json.Load(jsonStr); std::cout << json.emit() << "\r\n"; // 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 // } // } const char *ip = 0; const char *v_type = 0; const char *continent_code = 0; const char *continent_name = 0; const char *country_code = 0; const char *country_name = 0; const char *region_code = 0; const char *region_name = 0; const char *city = 0; const char *zip = 0; const char *latitude = 0; const char *longitude = 0; const char *locationGeoname_id = 0; const char *locationCapital = 0; const char *locationCountry_flag = 0; const char *locationCountry_flag_emoji = 0; const char *locationCountry_flag_emoji_unicode = 0; const char *locationCalling_code = 0; bool locationIs_eu; int i; int count_i; const char *code = 0; const char *name = 0; const char *native = 0; ip = json.stringOf("ip"); v_type = json.stringOf("type"); continent_code = json.stringOf("continent_code"); continent_name = json.stringOf("continent_name"); country_code = json.stringOf("country_code"); country_name = json.stringOf("country_name"); region_code = json.stringOf("region_code"); region_name = json.stringOf("region_name"); city = json.stringOf("city"); zip = json.stringOf("zip"); latitude = json.stringOf("latitude"); longitude = json.stringOf("longitude"); locationGeoname_id = json.stringOf("location.geoname_id"); locationCapital = json.stringOf("location.capital"); locationCountry_flag = json.stringOf("location.country_flag"); locationCountry_flag_emoji = json.stringOf("location.country_flag_emoji"); locationCountry_flag_emoji_unicode = json.stringOf("location.country_flag_emoji_unicode"); locationCalling_code = json.stringOf("location.calling_code"); locationIs_eu = json.BoolOf("location.is_eu"); i = 0; count_i = json.SizeOfArray("location.languages"); while (i < count_i) { json.put_I(i); code = json.stringOf("location.languages[i].code"); name = json.stringOf("location.languages[i].name"); native = json.stringOf("location.languages[i].native"); i = i + 1; } } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.