Tcl
Tcl
HTTPS PUT application/x-www-form-urlencoded
See more HTTP Examples
Demonstrates two ways of sending an HTTPS PUT application/x-www-form-urlencoded request.Chilkat Tcl Downloads
load ./chilkat.dll
set success 0
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
set http [new_CkHttp]
# The 1st example sends a PUT with the query params in the URL.
# The body of the request will be empty.
set url "https://example.com/leads/12345678?uid=XXXX&apikey=YYYYYY¬es=Test_Note"
# Sends the following request:
# PUT /leads/12345678?uid=XXXX&apikey=YYYYYY¬es=Test_Note HTTP/1.1
# Host: example.com
# Accept: */*
# Accept-Encoding: gzip
# Content-Length: 0
#
set resp [new_CkHttpResponse]
set success [CkHttp_HttpStr $http "PUT" $url "" "" "application/x-www-form-urlencoded" $resp]
if {$success == 0} then {
puts [CkHttp_lastErrorText $http]
delete_CkHttp $http
delete_CkHttpResponse $resp
exit
}
puts "Response status code = [CkHttpResponse_get_StatusCode $resp]"
puts "Response body: [CkHttpResponse_bodyStr $resp]"
# -----------------------------------------------------------------------
# Now we send the same request, but instead the query params are in the HTTP request body.
set req [new_CkHttpRequest]
CkHttpRequest_put_HttpVerb $req "PUT"
CkHttpRequest_put_Path $req "/leads/12345678"
CkHttpRequest_AddParam $req "uid" "XXXX"
CkHttpRequest_AddParam $req "apikey" "YYYYYY"
CkHttpRequest_AddParam $req "notes" "Test_Note"
# Sends the following request:
# POST /leads/12345678 HTTP/1.1
# Host: example.com
# Content-Type: application/x-www-form-urlencoded
# Content-Length: 38
#
# uid=XXXX&apikey=YYYYYY¬es=Test_Notereq.HttpVerb = "POST";
CkHttpRequest_put_HttpVerb $req "POST"
CkHttpRequest_put_ContentType $req "application/x-www-form-urlencoded"
set success [CkHttp_HttpReq $http "https://example.com/leads/12345678" $req $resp]
if {$success == 0} then {
puts [CkHttp_lastErrorText $http]
delete_CkHttp $http
delete_CkHttpResponse $resp
delete_CkHttpRequest $req
exit
}
puts "Response status code = [CkHttpResponse_get_StatusCode $resp]"
puts "Response body: [CkHttpResponse_bodyStr $resp]"
delete_CkHttp $http
delete_CkHttpResponse $resp
delete_CkHttpRequest $req