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
(PowerBuilder) REST POST JSON using Gzip Content EncodingDemonstrates how to send a JSON POST using the gzip Content-Encoding.
integer li_rc oleobject loo_Json oleobject loo_Rest integer li_Success oleobject loo_SbReq oleobject loo_SbResp oleobject loo_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" // } // loo_Json = create oleobject // Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject") if li_rc < 0 then destroy loo_Json MessageBox("Error","Connecting to COM object failed") return end if loo_Json.UpdateString("lists[0].id","1511199999") loo_Json.UpdateBool("confirmed",0) loo_Json.UpdateString("email_addresses[0].email_address","support@chilkatsoft.com") loo_Json.UpdateString("first_name","Matt") loo_Json.UpdateString("last_name","Smith") loo_Rest = create oleobject // Use "Chilkat_9_5_0.Rest" for versions of Chilkat < 10.0.0 li_rc = loo_Rest.ConnectToNewObject("Chilkat.Rest") li_Success = loo_Rest.Connect("api.constantcontact.com",443,1,1) if li_Success <> 1 then Write-Debug loo_Rest.LastErrorText destroy loo_Json destroy loo_Rest return end if loo_Rest.AddHeader("Content-Type","application/json") loo_Rest.AddHeader("Authorization","Bearer xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx") // Tell the server you'll accept only an application/json response. loo_Rest.AddHeader("Accept","application/json") // Indicate that we'll be sending the request body gzipped. loo_Rest.AddHeader("Content-Encoding","gzip") loo_SbReq = create oleobject // Use "Chilkat_9_5_0.StringBuilder" for versions of Chilkat < 10.0.0 li_rc = loo_SbReq.ConnectToNewObject("Chilkat.StringBuilder") loo_Json.EmitSb(loo_SbReq) // Send the POST. loo_SbResp = create oleobject // Use "Chilkat_9_5_0.StringBuilder" for versions of Chilkat < 10.0.0 li_rc = loo_SbResp.ConnectToNewObject("Chilkat.StringBuilder") li_Success = loo_Rest.FullRequestSb("POST","/v2/contacts?action_by=ACTION_BY_VISITOR&api_key=xxxxxxx",loo_SbReq,loo_SbResp) if li_Success <> 1 then Write-Debug loo_Rest.LastErrorText destroy loo_Json destroy loo_Rest destroy loo_SbReq destroy loo_SbResp return end if Write-Debug "Response body:" Write-Debug loo_SbResp.GetAsString() if loo_Rest.ResponseStatusCode <> 200 then Write-Debug "Received error response code: " + string(loo_Rest.ResponseStatusCode) destroy loo_Json destroy loo_Rest destroy loo_SbReq destroy loo_SbResp return end if loo_JsonResp = create oleobject // Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 li_rc = loo_JsonResp.ConnectToNewObject("Chilkat.JsonObject") loo_JsonResp.LoadSb(loo_SbResp) // Use the online tool at https://tools.chilkat.io/jsonParse.cshtml // to generate the JSON code that parses the JSON response.. destroy loo_Json destroy loo_Rest destroy loo_SbReq destroy loo_SbResp destroy loo_JsonResp |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.