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) REST POST JSON using Gzip Content EncodingDemonstrates how to send a JSON POST using the gzip Content-Encoding.
#include <CkJsonObject.h> #include <CkRest.h> #include <CkStringBuilder.h> void ChilkatSample(void) { CkString strOut; // 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" // } // CkJsonObject json; json.UpdateString("lists[0].id","1511199999"); json.UpdateBool("confirmed",false); json.UpdateString("email_addresses[0].email_address","support@chilkatsoft.com"); json.UpdateString("first_name","Matt"); json.UpdateString("last_name","Smith"); CkRest rest; bool success = rest.Connect("api.constantcontact.com",443,true,true); if (success != true) { strOut.append(rest.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } rest.AddHeader("Content-Type","application/json"); rest.AddHeader("Authorization","Bearer xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx"); // Tell the server you'll accept only an application/json response. rest.AddHeader("Accept","application/json"); // Indicate that we'll be sending the request body gzipped. rest.AddHeader("Content-Encoding","gzip"); CkStringBuilder sbReq; json.EmitSb(sbReq); // Send the POST. CkStringBuilder sbResp; success = rest.FullRequestSb("POST","/v2/contacts?action_by=ACTION_BY_VISITOR&api_key=xxxxxxx",sbReq,sbResp); if (success != true) { strOut.append(rest.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } strOut.append("Response body:"); strOut.append("\r\n"); strOut.append(sbResp.getAsString()); strOut.append("\r\n"); if (rest.get_ResponseStatusCode() != 200) { strOut.append("Received error response code: "); strOut.appendInt(rest.get_ResponseStatusCode()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } CkJsonObject 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.. SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.