Pascal (Lazarus/Delphi)
Pascal (Lazarus/Delphi)
Demonstrates how to Get Cookies Sent by the HTTP Server
See more HTTP Examples
This example demonstrates how to get the cookies that have been received from the HTTP server.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 HTTP API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http := THttp.Create;
// When the HTTP object's SaveCookies property is enabled, cookies received from the
// server are saved either to the directory specified by CookieDir (where they are stored as XML files)
// or in memory if "memory" is specified.
http.SaveCookies := True;
http.CookieDir := 'memory';
// Do a few GET's
html := http.QuickGetStr('https://google.com/');
html := http.QuickGetStr('https://stripe.com/');
// Examine the cookies received from each domain.
xmlStr := http.GetCookieXml('google.com');
WriteLn(xmlStr);
// Sample output:
// <?xml version="1.0" encoding="utf-8"?>
// <cookies>
// <cookie key=".google.com,/,AEC" v="0" expire="Tue, 17-Feb-2026 11:32:20 GMT" secure="yes">
// <AEC>AVh_......</AEC>
// </cookie>
// <cookie key=".google.com,/,NID" v="0" expire="Fri, 20-Feb-2026 11:32:20 GMT">
// <NID>525=A57i.......</NID>
// </cookie>
// </cookies>
xmlStr := http.GetCookieXml('stripe.com');
WriteLn(xmlStr);
// Sample output:
// <?xml version="1.0" encoding="utf-8"?>
// <cookies>
// <cookie key="stripe.com,/,cid" v="0" maxAge="7776000" secure="yes">
// <cid>eba2891e-89e4-4aec-b9cf-e799d5b4b230</cid>
// </cookie>
// </cookies>
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.