Sample code for 30+ languages & platforms
Tcl

HTTP HEAD Request

See more HTTP Examples

Sends an HTTP HEAD request and gets the response.

Note: The response to an HTTP HEAD request is always just the response header. The reponse body is always 0 length (thus the reason it's called a "HEAD" request..)

Chilkat Tcl Downloads

Tcl

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]

# If the URL uses "https://", then the connection will be TLS.
# Otherwise it will be TCP.

# A failure is when we don't get any response.  It could be a timeout, an inability to connect, etc.
# For example, a "404 Not Found" response is still a response, and thus deemed success in terms of the API..

set resp [new_CkHttpResponse]

set success [CkHttp_HttpNoBody $http "HEAD" "https://example-code.com/" $resp]
if {$success == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttp $http
    delete_CkHttpResponse $resp
    exit
}

# Examine the response.
puts "Status Code = [CkHttpResponse_get_StatusCode $resp]"
puts "Status Line = [CkHttpResponse_statusLine $resp]"
puts "Status Text = [CkHttpResponse_statusText $resp]"
puts "Full Response Header:"
puts [CkHttpResponse_header $resp]
puts "----"
set numHeaderFields [CkHttpResponse_get_NumHeaderFields $resp]
puts "Num Header Fields: $numHeaderFields"

for {set i 0} {$i <= [expr $numHeaderFields - 1]} {incr i} {
    puts [CkHttpResponse_getHeaderName $resp $i]: [CkHttpResponse_getHeaderValue $resp $i]
}

delete_CkHttp $http
delete_CkHttpResponse $resp