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
(C) REST POST JSON using Gzip Content EncodingDemonstrates how to send a JSON POST using the gzip Content-Encoding.
#include <C_CkJsonObject.h> #include <C_CkRest.h> #include <C_CkStringBuilder.h> void ChilkatSample(void) { HCkJsonObject json; HCkRest rest; BOOL success; HCkStringBuilder sbReq; HCkStringBuilder sbResp; HCkJsonObject jsonResp; // 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" // } // json = CkJsonObject_Create(); CkJsonObject_UpdateString(json,"lists[0].id","1511199999"); CkJsonObject_UpdateBool(json,"confirmed",FALSE); CkJsonObject_UpdateString(json,"email_addresses[0].email_address","support@chilkatsoft.com"); CkJsonObject_UpdateString(json,"first_name","Matt"); CkJsonObject_UpdateString(json,"last_name","Smith"); rest = CkRest_Create(); success = CkRest_Connect(rest,"api.constantcontact.com",443,TRUE,TRUE); if (success != TRUE) { printf("%s\n",CkRest_lastErrorText(rest)); CkJsonObject_Dispose(json); CkRest_Dispose(rest); return; } CkRest_AddHeader(rest,"Content-Type","application/json"); CkRest_AddHeader(rest,"Authorization","Bearer xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx"); // Tell the server you'll accept only an application/json response. CkRest_AddHeader(rest,"Accept","application/json"); // Indicate that we'll be sending the request body gzipped. CkRest_AddHeader(rest,"Content-Encoding","gzip"); sbReq = CkStringBuilder_Create(); CkJsonObject_EmitSb(json,sbReq); // Send the POST. sbResp = CkStringBuilder_Create(); success = CkRest_FullRequestSb(rest,"POST","/v2/contacts?action_by=ACTION_BY_VISITOR&api_key=xxxxxxx",sbReq,sbResp); if (success != TRUE) { printf("%s\n",CkRest_lastErrorText(rest)); CkJsonObject_Dispose(json); CkRest_Dispose(rest); CkStringBuilder_Dispose(sbReq); CkStringBuilder_Dispose(sbResp); return; } printf("Response body:\n"); printf("%s\n",CkStringBuilder_getAsString(sbResp)); if (CkRest_getResponseStatusCode(rest) != 200) { printf("Received error response code: %d\n",CkRest_getResponseStatusCode(rest)); CkJsonObject_Dispose(json); CkRest_Dispose(rest); CkStringBuilder_Dispose(sbReq); CkStringBuilder_Dispose(sbResp); return; } jsonResp = CkJsonObject_Create(); CkJsonObject_LoadSb(jsonResp,sbResp); // Use the online tool at https://tools.chilkat.io/jsonParse.cshtml // to generate the JSON code that parses the JSON response.. CkJsonObject_Dispose(json); CkRest_Dispose(rest); CkStringBuilder_Dispose(sbReq); CkStringBuilder_Dispose(sbResp); CkJsonObject_Dispose(jsonResp); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.