Pascal (Lazarus/Delphi)
Pascal (Lazarus/Delphi)
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 Pascal (Lazarus/Delphi) Downloads
program ChilkatDemo;
// Demonstrates using the Chilkat Pascal wrapper via the C bridge DLL.
// Builds as a console application under Lazarus (FPC) or Delphi.
{$IFDEF FPC}
{$MODE DELPHI}
{$ENDIF}
{$APPTYPE CONSOLE}
uses
{$IFDEF UNIX}
cthreads,
{$ENDIF}
SysUtils,
CkDllLoader,
Chilkat.Http;
// ---------------------------------------------------------------------------
procedure RunDemo;
var
http: THttp;
html: string;
xmlStr: string;
begin
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http := THttp.Create;
// To save cookies to an in-memory cache, set the
// CookieDir equal to "memory". Also,
// set the SaveCookies property:
http.CookieDir := 'memory';
http.SaveCookies := True;
// To cause cached cookies to be sent with
// subsequent HTTP requests, set the SendCookies
// property = True.
http.SendCookies := 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 := http.QuickGetStr('https://www.paypal.com/');
// To fetch the XML cookie(s) for a domain, call GetCookieXml:
xmlStr := http.GetCookieXml('paypal.com');
WriteLn(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.
WriteLn('--- LastHeader ---');
WriteLn(http.LastHeader);
http.Free;
end;
// ---------------------------------------------------------------------------
begin
try
RunDemo;
except
on E: Exception do
WriteLn('Unhandled exception: ', E.ClassName, ': ', E.Message);
end;
WriteLn;
{$IFDEF MSWINDOWS}
WriteLn('Press Enter to exit...');
ReadLn;
{$ENDIF}
end.