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) ipdata.co IPv4 Geolocation LookupDemonstrates how to lookup Geolocation data for an IPv4 address using the ipdata.co 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; const char *jsonStr = http.quickGetStr("https://api.ipdata.co/149.250.207.170?api-key=MY_API_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", // "is_eu": true, // "city": null, // "region": null, // "region_code": null, // "country_name": "Germany", // "country_code": "DE", // "continent_name": "Europe", // "continent_code": "EU", // "latitude": 51.2993, // "longitude": 9.491, // "asn": "AS15854", // "organisation": "EntServ Deutschland GmbH", // "postal": null, // "calling_code": "49", // "flag": "https://ipdata.co/flags/de.png", // "emoji_flag": "\ud83c\udde9\ud83c\uddea", // "emoji_unicode": "U+1F1E9 U+1F1EA", // "languages": [ // { // "name": "German", // "native": "Deutsch" // } // ], // "currency": { // "name": "Euro", // "code": "EUR", // "symbol": "\u20ac", // "native": "\u20ac", // "plural": "euros" // }, // "time_zone": { // "name": "Europe/Berlin", // "abbr": "CEST", // "offset": "+0200", // "is_dst": true, // "current_time": "2019-04-20T23:54:30.715507+02:00" // }, // "threat": { // "is_tor": false, // "is_proxy": false, // "is_anonymous": false, // "is_known_attacker": false, // "is_known_abuser": false, // "is_threat": false, // "is_bogon": false // }, // "count": "2" // } const char *ip = 0; bool is_eu; const char *city = 0; const char *region = 0; const char *region_code = 0; const char *country_name = 0; const char *country_code = 0; const char *continent_name = 0; const char *continent_code = 0; const char *latitude = 0; const char *longitude = 0; const char *asn = 0; const char *organisation = 0; const char *postal = 0; const char *calling_code = 0; const char *flag = 0; const char *emoji_flag = 0; const char *emoji_unicode = 0; const char *currencyName = 0; const char *currencyCode = 0; const char *currencySymbol = 0; const char *currencyNative = 0; const char *currencyPlural = 0; const char *time_zoneName = 0; const char *time_zoneAbbr = 0; const char *time_zoneOffset = 0; bool time_zoneIs_dst; const char *time_zoneCurrent_time = 0; bool threatIs_tor; bool threatIs_proxy; bool threatIs_anonymous; bool threatIs_known_attacker; bool threatIs_known_abuser; bool threatIs_threat; bool threatIs_bogon; const char *count = 0; int i; int count_i; const char *name = 0; const char *native = 0; ip = json.stringOf("ip"); is_eu = json.BoolOf("is_eu"); city = json.stringOf("city"); region = json.stringOf("region"); region_code = json.stringOf("region_code"); country_name = json.stringOf("country_name"); country_code = json.stringOf("country_code"); continent_name = json.stringOf("continent_name"); continent_code = json.stringOf("continent_code"); latitude = json.stringOf("latitude"); longitude = json.stringOf("longitude"); asn = json.stringOf("asn"); organisation = json.stringOf("organisation"); postal = json.stringOf("postal"); calling_code = json.stringOf("calling_code"); flag = json.stringOf("flag"); emoji_flag = json.stringOf("emoji_flag"); emoji_unicode = json.stringOf("emoji_unicode"); currencyName = json.stringOf("currency.name"); currencyCode = json.stringOf("currency.code"); currencySymbol = json.stringOf("currency.symbol"); currencyNative = json.stringOf("currency.native"); currencyPlural = json.stringOf("currency.plural"); time_zoneName = json.stringOf("time_zone.name"); time_zoneAbbr = json.stringOf("time_zone.abbr"); time_zoneOffset = json.stringOf("time_zone.offset"); time_zoneIs_dst = json.BoolOf("time_zone.is_dst"); time_zoneCurrent_time = json.stringOf("time_zone.current_time"); threatIs_tor = json.BoolOf("threat.is_tor"); threatIs_proxy = json.BoolOf("threat.is_proxy"); threatIs_anonymous = json.BoolOf("threat.is_anonymous"); threatIs_known_attacker = json.BoolOf("threat.is_known_attacker"); threatIs_known_abuser = json.BoolOf("threat.is_known_abuser"); threatIs_threat = json.BoolOf("threat.is_threat"); threatIs_bogon = json.BoolOf("threat.is_bogon"); count = json.stringOf("count"); i = 0; count_i = json.SizeOfArray("languages"); while (i < count_i) { json.put_I(i); name = json.stringOf("languages[i].name"); native = json.stringOf("languages[i].native"); i = i + 1; } SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.