Sample code for 30+ languages & platforms
Unicode C

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 Unicode C Downloads

Unicode C
#include <C_CkHttpW.h>

void ChilkatSample(void)
    {
    HCkHttpW http;
    const wchar_t *html;
    const wchar_t *xmlStr;

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

    http = CkHttpW_Create();

    // To save cookies to an in-memory cache, set the
    // CookieDir equal to "memory".  Also,
    // set the SaveCookies property:
    CkHttpW_putCookieDir(http,L"memory");
    CkHttpW_putSaveCookies(http,TRUE);

    // To cause cached cookies to be sent with 
    // subsequent HTTP requests, set the SendCookies
    // property = TRUE.
    CkHttpW_putSendCookies(http,TRUE);

    // Any methods that do a GET, POST, etc. will save 
    // cookies to the CookieDir (which in this case is an 
    // in-memory cache.

    html = CkHttpW_quickGetStr(http,L"https://www.paypal.com/");

    // To fetch the XML cookie(s) for a domain, call GetCookieXml:

    xmlStr = CkHttpW_getCookieXml(http,L"paypal.com");

    wprintf(L"%s\n",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 = CkHttpW_quickGetStr(http,L"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.
    wprintf(L"--- LastHeader ---\n");
    wprintf(L"%s\n",CkHttpW_lastHeader(http));


    CkHttpW_Dispose(http);

    }