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) Creating an application/json HTTP POST RequestDemonstrates how to create an HTTP POST request having the Content-Type application/json, where the body of the HTTP request is the following JSON: { "username" : "my_username", "password" : "my_password", "validation-factors" : { "validationFactors" : [ { "name" : "remote_address", "value" : "127.0.0.1" } ] } } The generated HTTP request looks like this: POST /something HTTP/1.1 Content-Type: application/json Accept: application/json Host: domain Content-Length: 216 { "username": "my_username", "password": "my_password", "validation-factors": { "validationFactors": [ { "name": "remote_address", "value": "127.0.0.1" } ] } }
Use ChilkatAx-win32.pkg Procedure Test Handle hoReq Handle hoJson Boolean iSuccess Variant vVFactors Handle hoVFactors Variant vVArray Handle hoVArray Variant vFactorObj Handle hoFactorObj String sRequestMime String sTemp1 // This example demonstrates building an application/json request. Get Create (RefClass(cComChilkatHttpRequest)) To hoReq If (Not(IsComObjectCreated(hoReq))) Begin Send CreateComObject of hoReq End // The ContentType, HttpVerb, and Path properties should // always be explicitly set. Set ComHttpVerb Of hoReq To "POST" Set ComPath Of hoReq To "/something" Set ComContentType Of hoReq To "application/json" // We may wish to add an "Accept" header to the request. // This tells the server we'll accept an application/json response. Send ComAddHeader To hoReq "Accept" "application/json" // We'll use Chilkat's JSON API to create the JSON body of the HTTP request. Get Create (RefClass(cComChilkatJsonObject)) To hoJson If (Not(IsComObjectCreated(hoJson))) Begin Send CreateComObject of hoJson End Get ComAppendString Of hoJson "username" "my_username" To iSuccess Get ComAppendString Of hoJson "password" "my_password" To iSuccess Get ComAppendObject Of hoJson "validation-factors" To vVFactors If (IsComObject(vVFactors)) Begin Get Create (RefClass(cComChilkatJsonObject)) To hoVFactors Set pvComObject Of hoVFactors To vVFactors End Get ComAppendArray Of hoVFactors "validationFactors" To vVArray If (IsComObject(vVArray)) Begin Get Create (RefClass(cComChilkatJsonArray)) To hoVArray Set pvComObject Of hoVArray To vVArray End Get ComAddObjectAt Of hoVArray 0 To iSuccess Get ComObjectAt Of hoVArray 0 To vFactorObj If (IsComObject(vFactorObj)) Begin Get Create (RefClass(cComChilkatJsonObject)) To hoFactorObj Set pvComObject Of hoFactorObj To vFactorObj End Get ComAppendString Of hoFactorObj "name" "remote_address" To iSuccess Get ComAppendString Of hoFactorObj "value" "127.0.0.1" To iSuccess Send Destroy of hoFactorObj Send Destroy of hoVArray Send Destroy of hoVFactors // Use the JSON for the HTTP request body // By default, the Emit method will output compact JSON. // This is best for generating the smallest size request. // To generate a more human-readable (pretty-printed) JSON request body, // set the EmitCompact property to FALSE Set ComEmitCompact Of hoJson To False Get ComEmit Of hoJson To sTemp1 Get ComLoadBodyFromString Of hoReq sTemp1 "utf-8" To iSuccess // View the request that would be sent if SynchronousRequest was called: Get ComGenerateRequestText Of hoReq To sRequestMime Showln sRequestMime // A few important comments about the HTTP request that is generated: // // 1) The Content-Length header is automatically generated based on the actual length of the MIME message // that follows the intial (topmost) MIME header. // 2) The HOST header will automatically get filled in with the actual domain when SynchronousRequest // is called End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.