Sample code for 30+ languages & platforms
Go

Fetch Web Pages from Local Cache

See more HTTP Examples

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

Chilkat Go Downloads

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

    http := chilkat.NewHttp()

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

    // up to 256 sub-directories under the cache root will be created as needed to hold cached GET's.
    http.SetNumCacheLevels(1)

    // Tell the http object to fetch from the cache if possible.
    http.SetFetchFromCache(true)

    // Also tell the http object to update the cache with newly fetched pages.
    http.SetUpdateCache(true)

    // This HTTP GET should result in a cache file getting created.
    html := http.QuickGetStr("https://www.google.com/")
    if http.LastMethodSuccess() == false {
        fmt.Println(http.LastErrorText())
        http.DisposeHttp()
        return
    }

    // The 1st GET was not from cache:
    fmt.Println("Fetched from cache: ", http.LastFromCache())

    // Fetching again will cause the page to be delivered from our local cache.
    html = http.QuickGetStr("https://www.google.com/")
    if http.LastMethodSuccess() == false {
        fmt.Println(http.LastErrorText())
        http.DisposeHttp()
        return
    }

    // The 2nd GET is from cache:
    fmt.Println("Fetched from cache: ", http.LastFromCache())

    http.DisposeHttp()