Sample code for 30+ languages & platforms
Delphi ActiveX

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 Delphi ActiveX Downloads

Delphi ActiveX
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;

...

procedure TForm1.Button1Click(Sender: TObject);
var
http: TChilkatHttp;
html: WideString;
xmlStr: WideString;

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

http := TChilkatHttp.Create(Self);

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

// To cause cached cookies to be sent with 
// subsequent HTTP requests, set the SendCookies
// property = 1.
http.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.

html := http.QuickGetStr('https://www.paypal.com/');

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

xmlStr := http.GetCookieXml('paypal.com');

Memo1.Lines.Add(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 := http.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.
Memo1.Lines.Add('--- LastHeader ---');
Memo1.Lines.Add(http.LastHeader);
end;