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
(DataFlex) REST POST JSON using Gzip Content EncodingDemonstrates how to send a JSON POST using the gzip Content-Encoding.
Use ChilkatAx-win32.pkg Procedure Test Handle hoJson Boolean iSuccess Handle hoRest Boolean iSuccess Variant vSbReq Handle hoSbReq Variant vSbResp Handle hoSbResp Resp Handle hoJsonResp String sTemp1 Integer iTemp1 // 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" // } // Get Create (RefClass(cComChilkatJsonObject)) To hoJson If (Not(IsComObjectCreated(hoJson))) Begin Send CreateComObject of hoJson End Get ComUpdateString Of hoJson "lists[0].id" "1511199999" To iSuccess Get ComUpdateBool Of hoJson "confirmed" False To iSuccess Get ComUpdateString Of hoJson "email_addresses[0].email_address" "support@chilkatsoft.com" To iSuccess Get ComUpdateString Of hoJson "first_name" "Matt" To iSuccess Get ComUpdateString Of hoJson "last_name" "Smith" To iSuccess Get Create (RefClass(cComChilkatRest)) To hoRest If (Not(IsComObjectCreated(hoRest))) Begin Send CreateComObject of hoRest End Get ComConnect Of hoRest "api.constantcontact.com" 443 True True To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoRest To sTemp1 Showln sTemp1 Procedure_Return End Get ComAddHeader Of hoRest "Content-Type" "application/json" To iSuccess Get ComAddHeader Of hoRest "Authorization" "Bearer xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx" To iSuccess // Tell the server you'll accept only an application/json response. Get ComAddHeader Of hoRest "Accept" "application/json" To iSuccess // Indicate that we'll be sending the request body gzipped. Get ComAddHeader Of hoRest "Content-Encoding" "gzip" To iSuccess Get Create (RefClass(cComChilkatStringBuilder)) To hoSbReq If (Not(IsComObjectCreated(hoSbReq))) Begin Send CreateComObject of hoSbReq End Get pvComObject of hoSbReq to vSbReq Get ComEmitSb Of hoJson vSbReq To iSuccess // Send the POST. Get Create (RefClass(cComChilkatStringBuilder)) To hoSbResp If (Not(IsComObjectCreated(hoSbResp))) Begin Send CreateComObject of hoSbResp End Get pvComObject of hoSbReq to vSbReq Get pvComObject of hoSbResp to vSbResp Get ComFullRequestSb Of hoRest "POST" "/v2/contacts?action_by=ACTION_BY_VISITOR&api_key=xxxxxxx" vSbReq vSbResp To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoRest To sTemp1 Showln sTemp1 Procedure_Return End Showln "Response body:" Get ComGetAsString Of hoSbResp To sTemp1 Showln sTemp1 Get ComResponseStatusCode Of hoRest To iTemp1 If (iTemp1 <> 200) Begin Get ComResponseStatusCode Of hoRest To iTemp1 Showln "Received error response code: " iTemp1 Procedure_Return End Get Create (RefClass(cComChilkatJsonObject)) To hoJsonResp If (Not(IsComObjectCreated(hoJsonResp))) Begin Send CreateComObject of hoJsonResp End Get pvComObject of hoSbResp to vSbResp Get ComLoadSb Of hoJsonResp vSbResp To iSuccess // Use the online tool at https://tools.chilkat.io/jsonParse.cshtml // to generate the JSON code that parses the JSON response.. End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.