Sample code for 30+ languages & platforms
Lianja

Fetch Web Pages from Local Cache

See more HTTP Examples

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

Chilkat Lianja Downloads

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

loHttp = createobject("CkHttp")

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

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

// Tell the http object to fetch from the cache if possible.
loHttp.FetchFromCache = .T.

// Also tell the http object to update the cache with newly fetched pages.
loHttp.UpdateCache = .T.

// This HTTP GET should result in a cache file getting created.
lcHtml = loHttp.QuickGetStr("https://www.google.com/")
if (loHttp.LastMethodSuccess = .F.) then
    ? loHttp.LastErrorText
    release loHttp
    return
endif

// The 1st GET was not from cache:
? "Fetched from cache: " + str(loHttp.LastFromCache)

// Fetching again will cause the page to be delivered from our local cache.
lcHtml = loHttp.QuickGetStr("https://www.google.com/")
if (loHttp.LastMethodSuccess = .F.) then
    ? loHttp.LastErrorText
    release loHttp
    return
endif

// The 2nd GET is from cache:
? "Fetched from cache: " + str(loHttp.LastFromCache)


release loHttp