Sample code for 30+ languages & platforms
Xbase++

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 Xbase++ Downloads

Xbase++
LOCAL oHttp
LOCAL cHtml
LOCAL cXmlStr

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

oHttp := CreateObject("Chilkat.Http")

//  To save cookies to an in-memory cache, set the
//  CookieDir equal to "memory".  Also,
//  set the SaveCookies property:
oHttp:CookieDir := "memory"
oHttp:SaveCookies := 1

//  To cause cached cookies to be sent with 
//  subsequent HTTP requests, set the SendCookies
//  property = 1.
oHttp:SendCookies := 1

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

cHtml := oHttp:QuickGetStr("https://www.paypal.com/")

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

cXmlStr := oHttp:GetCookieXml("paypal.com")

? cXmlStr

//  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:
cHtml := oHttp:QuickGetStr("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.
? "--- LastHeader ---"
? oHttp:LastHeader

oHttp:destroy()