Tcl
Tcl
Get the Last-Modified Date Before HTTP Download
See more HTTP Examples
Demonstrates how to send a HEAD request to get the last-modified date of a file on a web server (without downloading the file).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]
set resp [new_CkHttpResponse]
set success [CkHttp_HttpNoBody $http "HEAD" "https://www.chilkatsoft.com/hamlet.xml" $resp]
if {$success == 0} then {
puts [CkHttp_lastErrorText $http]
delete_CkHttp $http
delete_CkHttpResponse $resp
exit
}
# Examine the response header.
puts [CkHttpResponse_header $resp]
# Here is a sample response header:
# Content-Length: 279658
# Content-Type: text/xml
# Last-Modified: Thu, 12 May 2016 15:14:08 GMT
# Accept-Ranges: bytes
# ETag: "c1cd8bee60acd11:0"
# Server: Microsoft-IIS/8.5
# X-Powered-By: ASP.NET
# X-Powered-By-Plesk: PleskWin
# Date: Thu, 25 Jul 2019 16:40:54 GMT
# Get the Last-Modified header.
set lastModStr [CkHttpResponse_getHeaderField $resp "Last-Modified"]
# If the header exists...
if {[CkHttpResponse_get_LastMethodSuccess $resp] == 1} then {
# Parse the RFC822 format date/time string
set ckdt [new_CkDateTime]
CkDateTime_SetFromRfc822 $ckdt $lastModStr
# If we want to access individual date/time parts (in the local timezone)
set dt [new_CkDtObj]
CkDateTime_ToDtObj $ckdt 1 $dt
puts "day/month/year = [CkDtObj_get_Day $dt]/[CkDtObj_get_Month $dt]/[CkDtObj_get_Year $dt]"
}
delete_CkHttp $http
delete_CkHttpResponse $resp
delete_CkDateTime $ckdt
delete_CkDtObj $dt