Sample code for 30+ languages & platforms
Tcl Requires Chilkat v11.0.0+

HTTP POST JSON (application/json)

See more HTTP Examples

Demonstrates how to send a JSON POST using the application/json content-type.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

#  This example requires the Chilkat API to have been previously unlocked.
#  See Global Unlock Sample for sample code.

set req [new_CkHttpRequest]

set http [new_CkHttp]

#  If any custom headers need to be included with the POST, add them
#  by calling SetRequestHeader

#  Note: An application should never explicitly set the Content-Length header.
#  The Content-Length is automatically computed and added by Chilkat.

#  Here are some examples of custom headers.  

#  Perhaps your particular app needs some sort of custom-computed Authorization header...
CkHttp_SetRequestHeader $http "Authorization" "my-custom-computed-auth-value"

#  Another custom header for some hypothetical app:
CkHttp_SetRequestHeader $http "X-Pass-Timestamp" "my-custom-computed-timestamp-value"

#  The following "Accept" header may be set, but it really isn't necessary:
CkHttp_SetRequestHeader $http "Accept" "application/json"

set jsonText "{ some JSON text ... }"

#  To use SSL/TLS, simply use "https://" in the URL.

set resp [new_CkHttpResponse]

set success [CkHttp_HttpStr $http "POST" "http://www.someserver.com/someJsonEndpoint" $jsonText "utf-8" "application/json" $resp]
if {$success == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttpRequest $req
    delete_CkHttp $http
    delete_CkHttpResponse $resp
    exit
}

#  Display the JSON response.
puts [CkHttpResponse_bodyStr $resp]

delete_CkHttpRequest $req
delete_CkHttp $http
delete_CkHttpResponse $resp