Delphi Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Delphi Examples

Bounced Mail
Character Encoding
Digital Certificates
Digital Signatures
Email
FTP
HTML-to-XML
HTTP
IMAP
Encryption
MHT / HTML Email
RSA Encryption
S/MIME
Socket
Spider
String
Tar
Upload
XML
XMP
Zip Compression

More Examples...
Byte Array
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA

Unreleased...
Bzip2
LZW
Bz2
Icon

Type Conversion

 

Article: Understanding COM References in Delphi

HTTP Session with Cookies

How to keep a session with cookies. Demonstrates how to login to WordPress.

Download Chilkat HTTP ActiveX

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls,
    CHILKATHTTPLib_TLB,
    OleCtrls;

...

procedure TForm1.Button1Click(Sender: TObject);
var
req: TChilkatHttpRequest;
http: TChilkatHttp;
success: Integer;
html: String;
domain: String;
port: Integer;
ssl: Integer;
resp: IChilkatHttpResponse;
redirectUrl: String;

begin
req := TChilkatHttpRequest.Create(Self);
http := TChilkatHttp.Create(Self);

//  Any string unlocks the component for the 1st 30-days.
success := http.UnlockComponent('Anything for 30-day trial');
if (success <> 1) then
  begin
    ShowMessage(http.LastErrorText);

  end;

//  This example will demonstrate maintaining a session with
//  cookies by doing a simple login to a WordPress blog.
//  Indicate that cookies are to be saved and re-sent.
//  Instead of using a cookie file, you may use the string "memory"
//  to save cookies to memory.
http.CookieDir := 'memory';
http.SendCookies := 1;
http.SaveCookies := 1;

//  Let's first hit the chilkat.wordpress.com login page to make sure
//  we have any initial cookies...

html := http.QuickGetStr('http://chilkat.wordpress.com/wp-login.php');
if (html = NULL ) then
  begin
    Memo1.Lines.Add(http.LastErrorText);

  end;

//  Build an HTTP POST request to login
req.UsePost();
req.Path := '/wp-login.php';
req.AddParam('log','chilkat');
req.AddParam('pwd','myPassword');
req.AddParam('rememberme','forever');
req.AddParam('wp-submit','Login');
req.AddParam('redirect_to','/wp-admin/');

req.AddHeader('Referer','http://chilkat.wordpress.com/wp-login.php');

//  Send the HTTP POST and get the response.  Note: This is a blocking call.
//  The method does not return until the full HTTP response is received.

domain := 'chilkat.wordpress.com';
port := 80;
ssl := 0;

resp := http.SynchronousRequest(domain,port,ssl,req.DefaultInterface);
if (resp = nil ) then
  begin
    Memo1.Lines.Add(http.LastErrorText);

  end;

//  Is this a 302 redirect?
if (resp.StatusCode = 302) then
  begin

    //  Get the redirect URL:

    redirectUrl := resp.GetHeaderField('Location');

    html := http.QuickGetStr(redirectUrl);
    if (html = NULL ) then
      begin
        Memo1.Lines.Add(http.LastErrorText);
      end
    else
      begin
        Memo1.Lines.Add(html);
      end;

  end
else
  begin
    Memo1.Lines.Add(resp.BodyStr);
  end;
end;

 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2007 Chilkat Software, Inc. All Rights Reserved.

Mail Component · .NET Email Component · XML Parser