Sample code for 30+ languages & platforms
Tcl

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