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++) REST POST JSON using Gzip Content EncodingDemonstrates how to send a JSON POST using the gzip Content-Encoding.
#include <CkJsonObjectW.h> #include <CkRestW.h> #include <CkStringBuilderW.h> void ChilkatSample(void) { // This requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // Use the online tool at https://tools.chilkat.io/Default.cshtml // to generate the JSON code that creates this JSON: // { // "lists": [ // { // "id": "1511199999" // } // ], // "confirmed": false, // "email_addresses": [ // { // "email_address": "support@chilkatsoft.com" // } // ], // "first_name": "Matt", // "last_name": "Smith" // } // CkJsonObjectW json; json.UpdateString(L"lists[0].id",L"1511199999"); json.UpdateBool(L"confirmed",false); json.UpdateString(L"email_addresses[0].email_address",L"support@chilkatsoft.com"); json.UpdateString(L"first_name",L"Matt"); json.UpdateString(L"last_name",L"Smith"); CkRestW rest; bool success = rest.Connect(L"api.constantcontact.com",443,true,true); if (success != true) { wprintf(L"%s\n",rest.lastErrorText()); return; } rest.AddHeader(L"Content-Type",L"application/json"); rest.AddHeader(L"Authorization",L"Bearer xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx"); // Tell the server you'll accept only an application/json response. rest.AddHeader(L"Accept",L"application/json"); // Indicate that we'll be sending the request body gzipped. rest.AddHeader(L"Content-Encoding",L"gzip"); CkStringBuilderW sbReq; json.EmitSb(sbReq); // Send the POST. CkStringBuilderW sbResp; success = rest.FullRequestSb(L"POST",L"/v2/contacts?action_by=ACTION_BY_VISITOR&api_key=xxxxxxx",sbReq,sbResp); if (success != true) { wprintf(L"%s\n",rest.lastErrorText()); return; } wprintf(L"Response body:\n"); wprintf(L"%s\n",sbResp.getAsString()); if (rest.get_ResponseStatusCode() != 200) { wprintf(L"Received error response code: %d\n",rest.get_ResponseStatusCode()); return; } CkJsonObjectW jsonResp; jsonResp.LoadSb(sbResp); // Use the online tool at https://tools.chilkat.io/jsonParse.cshtml // to generate the JSON code that parses the JSON response.. } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.