Sample code for 30+ languages & platforms
PureBasic

Caching cookies in-memory.

See more HTTP Examples

Caching cookies in-memory. To automatically save cookies to an in-memory cache, set the CookieDir property equal to the keyword "memory". Also, set the SaveCookies property = _TRUE_. If the SendCookies property = _TRUE_, then any cached cookies are automatically re-sent with subsequent GETs and POSTs.

Chilkat PureBasic Downloads

PureBasic
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

    ; To save cookies to an in-memory cache, set the
    ; CookieDir equal to "memory".  Also,
    ; set the SaveCookies property:
    CkHttp::setCkCookieDir(http, "memory")
    CkHttp::setCkSaveCookies(http, 1)

    ; To cause cached cookies to be sent with 
    ; subsequent HTTP requests, set the SendCookies
    ; property = 1.
    CkHttp::setCkSendCookies(http, 1)

    ; Any methods that do a GET, POST, etc. will save 
    ; cookies to the CookieDir (which in this case is an 
    ; in-memory cache.
    html.s
    html = CkHttp::ckQuickGetStr(http,"https://www.paypal.com/")

    ; To fetch the XML cookie(s) for a domain, call GetCookieXml:
    xmlStr.s
    xmlStr = CkHttp::ckGetCookieXml(http,"paypal.com")

    Debug xmlStr

    ; It's content will look something like this:

    ; <cookies>
    ;     <cookie key=".paypal.com,/" v="0" secure="yes">
    ;         <navcmd>_home-general</navcmd>
    ;         <HttpOnly />
    ;         <cwrClyrK4LoCV1fydGbAxiNL6iG>9cz...</cwrClyrK4LoCV1fydGbAxiNL6iG>
    ;     </cookie>
    ; </cookies>

    ; If another HTTP request is sent, the cookies should
    ; be added:
    html = CkHttp::ckQuickGetStr(http,"https://www.paypal.com/")

    ; Check the LastHeader property to see the MIME header
    ; of the last HTTP request sent.
    ; The "Cookie" header field should be present.
    Debug "--- LastHeader ---"
    Debug CkHttp::ckLastHeader(http)


    CkHttp::ckDispose(http)


    ProcedureReturn
EndProcedure