Sample code for 30+ languages & platforms
Tcl

HTTP POST (Duplicate Simple HTML Form POST)

Demonstrates how to duplicate a simple HTML form POST.

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]

# This example simulates this FORM:
# <form action="echoPost.asp" method="post">
# First name: <input type="text" name="firstName"><br />
# Last name: <input type="text" name="lastName"><br />
# <input type="submit" value="Submit">
# </form>
# The online FORM is found at this URL:
# https://www.chilkatsoft.com/simpleForm.html

# Build an HTTP POST Request:
CkHttpRequest_put_HttpVerb $req "POST"

# The FORM target is http://www.chilkatsoft.com/processPost.asp
# An easy way of filling out most of the HTTP request object
# is to call SetFromUrl:
CkHttpRequest_SetFromUrl $req "https://www.chilkatsoft.com/echoPost.asp"

# Send form params using application/x-www-form-urlencoded
CkHttpRequest_put_ContentType $req "application/x-www-form-urlencoded"

# The only remaining task is to add the params to the 
# HTTP request object:
CkHttpRequest_AddParam $req "firstName" "Matt"
CkHttpRequest_AddParam $req "lastName" "Jones"

# Send the HTTP POST and get the response.
# The POST is being sent to chilkatsoft.com, on port 443 (using TLS)
set domain "chilkatsoft.com"
set port 443
set tls 1

# The HTTP POST is sent here:
set resp [new_CkHttpResponse]

set success [CkHttp_HttpSReq $http $domain $port $tls $req $resp]
if {$success == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttpRequest $req
    delete_CkHttp $http
    delete_CkHttpResponse $resp
    exit
}

# Display the HTML source of the page returned.
puts [CkHttpResponse_bodyStr $resp]

delete_CkHttpRequest $req
delete_CkHttp $http
delete_CkHttpResponse $resp