Sample code for 30+ languages & platforms
Xbase++

Fetch Web Pages from Local Cache

See more HTTP Examples

Demonstrates how to keep a local cache to avoid re-fetching web pages.

Chilkat Xbase++ Downloads

Xbase++
LOCAL oHttp
LOCAL cHtml

//  This example assumes the Chilkat API to have been previously unlocked.
//  See Global Unlock Sample for sample code.

oHttp := CreateObject("Chilkat.Http")

//  Define a cache directory and set the number of levels based on the anticipated size of the cache.
oHttp:AddCacheRoot("c:/example/httpCache/")

//  up to 256 sub-directories under the cache root will be created as needed to hold cached GET's.
oHttp:NumCacheLevels := 1

//  Tell the http object to fetch from the cache if possible.
oHttp:FetchFromCache := 1

//  Also tell the http object to update the cache with newly fetched pages.
oHttp:UpdateCache := 1

//  This HTTP GET should result in a cache file getting created.
cHtml := oHttp:QuickGetStr("https://www.google.com/")
IF (oHttp:LastMethodSuccess == 0)
    ? oHttp:LastErrorText
    oHttp:destroy()
    RETURN
ENDIF

//  The 1st GET was not from cache:
? "Fetched from cache: " + Str(oHttp:LastFromCache)

//  Fetching again will cause the page to be delivered from our local cache.
cHtml := oHttp:QuickGetStr("https://www.google.com/")
IF (oHttp:LastMethodSuccess == 0)
    ? oHttp:LastErrorText
    oHttp:destroy()
    RETURN
ENDIF

//  The 2nd GET is from cache:
? "Fetched from cache: " + Str(oHttp:LastFromCache)

oHttp:destroy()