Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(MFC) 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) { CkString strOut; // 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) { strOut.append(http.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } CkJsonObject json; json.put_EmitCompact(false); bool success = json.Load(jsonStr); strOut.append(json.emit()); strOut.append("\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; } SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.