Sample code for 30+ languages & platforms
PureBasic

Persist Cookies to XML Files and Auto Re-Send

See more HTTP Examples

Demonstrates how to persist incoming cookies to XML files and automatically re-send in subsesquent HTTP requests.

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 XML files (per domain) in a specific
    ; directory, set the CookieDir property (the directory must
    ; already exist and be writeable by the caller).  Also,
    ; set the SaveCookies property:
    CkHttp::setCkCookieDir(http, "/cookieDir")
    CkHttp::setCkSaveCookies(http, 1)

    ; Any methods that do a GET, POST, etc. will save cookies
    ; to the CookieDir:
    html.s
    html = CkHttp::ckQuickGetStr(http,"https://www.paypal.com/")

    ; After running this code, a "paypal_com.xml" file should appear
    ; in /cookieDir.

    ; 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>

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

    ; 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