Tcl
Tcl
Fetch Web Pages from Local Cache
See more HTTP Examples
Demonstrates how to keep a local cache to avoid re-fetching web pages.Chilkat Tcl Downloads
load ./chilkat.dll
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
set http [new_CkHttp]
# Define a cache directory and set the number of levels based on the anticipated size of the cache.
CkHttp_AddCacheRoot $http "c:/example/httpCache/"
# up to 256 sub-directories under the cache root will be created as needed to hold cached GET's.
CkHttp_put_NumCacheLevels $http 1
# Tell the http object to fetch from the cache if possible.
CkHttp_put_FetchFromCache $http 1
# Also tell the http object to update the cache with newly fetched pages.
CkHttp_put_UpdateCache $http 1
# This HTTP GET should result in a cache file getting created.
set html [CkHttp_quickGetStr $http "https://www.google.com/"]
if {[CkHttp_get_LastMethodSuccess $http] == 0} then {
puts [CkHttp_lastErrorText $http]
delete_CkHttp $http
exit
}
# The 1st GET was not from cache:
puts "Fetched from cache: [CkHttp_get_LastFromCache $http]"
# Fetching again will cause the page to be delivered from our local cache.
set html [CkHttp_quickGetStr $http "https://www.google.com/"]
if {[CkHttp_get_LastMethodSuccess $http] == 0} then {
puts [CkHttp_lastErrorText $http]
delete_CkHttp $http
exit
}
# The 2nd GET is from cache:
puts "Fetched from cache: [CkHttp_get_LastFromCache $http]"
delete_CkHttp $http