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

Example: Http.HttpSb method

Shows how to use the HttpSb method to send an HTTP POST request with a StringBuilder as the request body. The example sends the following request:
POST /echo_request_body.asp HTTP/1.1
Host: chilkatsoft.com
Accept: */*
Accept-Encoding: gzip
Content-Type: application/json
Content-Length: 26

{"greeting":"Hello World"}

Also see: Chilkat Http Default and Auto-Filled Headers

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

set http [new_CkHttp]

set success 0

set sb [new_CkStringBuilder]

CkStringBuilder_Append $sb "{\"greeting\":\"Hello World\"}"

#  This URL echoes the contents of the request body, letting us view it.
set url "https://chilkatsoft.com/echo_request_body.asp"

#  Send a POST with the contents of the StringBuilder in the HTTP request body.
set resp [new_CkHttpResponse]

set success [CkHttp_HttpSb $http "POST" $url $sb "utf-8" "application/json" $resp]
if {$success == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttp $http
    delete_CkStringBuilder $sb
    delete_CkHttpResponse $resp
    exit
}

puts "Response Status Code: [CkHttpResponse_get_StatusCode $resp]"

#  Examine the request we sent.
#  The LastHeader property stores the HTTP request header of the most recent request sent,
#  and in this instance, the response body mirrors the request body.
puts [CkHttp_lastHeader $http]
puts [CkHttpResponse_bodyStr $resp]

#  Output:

#  POST /echo_request_body.asp HTTP/1.1
#  Host: chilkatsoft.com
#  Accept: */*
#  Accept-Encoding: gzip
#  Content-Type: application/json
#  Content-Length: 26
#  
#  {"greeting":"Hello World"}

delete_CkHttp $http
delete_CkStringBuilder $sb
delete_CkHttpResponse $resp