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