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
(Tcl) 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" } ] } }
load ./chilkat.dll # This example demonstrates building an application/json request. set req [new_CkHttpRequest] # The ContentType, HttpVerb, and Path properties should # always be explicitly set. CkHttpRequest_put_HttpVerb $req "POST" CkHttpRequest_put_Path $req "/something" CkHttpRequest_put_ContentType $req "application/json" # We may wish to add an "Accept" header to the request. # This tells the server we'll accept an application/json response. CkHttpRequest_AddHeader $req "Accept" "application/json" # We'll use Chilkat's JSON API to create the JSON body of the HTTP request. set json [new_CkJsonObject] CkJsonObject_AppendString $json "username" "my_username" CkJsonObject_AppendString $json "password" "my_password" # vFactors is a CkJsonObject set vFactors [CkJsonObject_AppendObject $json "validation-factors"] # vArray is a CkJsonArray set vArray [CkJsonObject_AppendArray $vFactors "validationFactors"] CkJsonArray_AddObjectAt $vArray 0 # factorObj is a CkJsonObject set factorObj [CkJsonArray_ObjectAt $vArray 0] CkJsonObject_AppendString $factorObj "name" "remote_address" CkJsonObject_AppendString $factorObj "value" "127.0.0.1" delete_CkJsonObject $factorObj delete_CkJsonArray $vArray delete_CkJsonObject $vFactors # 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 CkJsonObject_put_EmitCompact $json 0 CkHttpRequest_LoadBodyFromString $req [CkJsonObject_emit $json] "utf-8" # View the request that would be sent if SynchronousRequest was called: set requestMime [CkHttpRequest_generateRequestText $req] puts "$requestMime" # 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 delete_CkHttpRequest $req delete_CkJsonObject $json |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.