Sample code for 30+ languages & platforms
Tcl

Example: Http.HttpBd method

Shows how to use the HttpBd method to send an HTTP POST request with the contents of a BinData as the request body. The example sends the following request:
POST /api/v1/sites/123/deploys HTTP/1.1
Host: example.com
Accept: */*
Accept-Encoding: gzip
Content-Type: application/zip
Content-Length: 123456

[binary data bytes of the BinData]

Also see: Chilkat Http Default and Auto-Filled Headers

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

set localFilePath "C:/example/zips/data.zip"
set bd [new_CkBinData]

set success [CkBinData_LoadFile $bd $localFilePath]
if {$success == 0} then {
    puts [CkBinData_lastErrorText $bd]
    delete_CkBinData $bd
    exit
}

set url "https://example.com/api/v1/sites/123/deploys"

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

set http [new_CkHttp]

set success [CkHttp_HttpBd $http "POST" $url $bd "application/zip" $resp]
if {$success == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkBinData $bd
    delete_CkHttpResponse $resp
    delete_CkHttp $http
    exit
}

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

delete_CkBinData $bd
delete_CkHttpResponse $resp
delete_CkHttp $http