PureBasic
PureBasic
Fetch Web Pages from Local Cache
See more HTTP Examples
Demonstrates how to keep a local cache to avoid re-fetching web pages.Chilkat PureBasic Downloads
IncludeFile "CkHttp.pb"
Procedure ChilkatExample()
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; Define a cache directory and set the number of levels based on the anticipated size of the cache.
CkHttp::ckAddCacheRoot(http,"c:/example/httpCache/")
; up to 256 sub-directories under the cache root will be created as needed to hold cached GET's.
CkHttp::setCkNumCacheLevels(http, 1)
; Tell the http object to fetch from the cache if possible.
CkHttp::setCkFetchFromCache(http, 1)
; Also tell the http object to update the cache with newly fetched pages.
CkHttp::setCkUpdateCache(http, 1)
; This HTTP GET should result in a cache file getting created.
html.s = CkHttp::ckQuickGetStr(http,"https://www.google.com/")
If CkHttp::ckLastMethodSuccess(http) = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
ProcedureReturn
EndIf
; The 1st GET was not from cache:
Debug "Fetched from cache: " + Str(CkHttp::ckLastFromCache(http))
; Fetching again will cause the page to be delivered from our local cache.
html = CkHttp::ckQuickGetStr(http,"https://www.google.com/")
If CkHttp::ckLastMethodSuccess(http) = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
ProcedureReturn
EndIf
; The 2nd GET is from cache:
Debug "Fetched from cache: " + Str(CkHttp::ckLastFromCache(http))
CkHttp::ckDispose(http)
ProcedureReturn
EndProcedure