Delphi Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

Delphi Examples

Bounced Mail
Bz2
Character Encoding
CSV
DKIM / DomainKey
Digital Certificates
Digital Signatures
DH Key Exchange
DSA
Email
Email Object
FTP
HTML Conversion
HTTP
IMAP
Encryption
MHT / HTML Email
NTLM
POP3
RSA
S/MIME
SMTP
Socket
Spider
SFTP
SSH
SSH Key
SSH Tunnel
String
Tar
Upload
XML
XMP
Zip Compression

More Examples...
Amazon S3
Byte Array
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
LZW

Type Conversion

 

Article: Understanding COM References in Delphi

Amazon S3 - List Buckets

Demonstrates how to send a GET request to the Amazon S3 service to list buckets.

Download Chilkat Crypt ActiveX

Download Chilkat HTTP ActiveX

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

...

procedure TForm1.Button1Click(Sender: TObject);
var
http: TChilkatHttp;
success: Integer;
curDateTime: String;
strToSign: String;
crypt: TChilkatCrypt2;
AWSAccessKeyId: String;
AWSSecretAccessKey: String;
signature: String;
authValue: String;
xmlResponse: String;

begin
http := TChilkatHttp.Create(Self);
success := http.UnlockComponent('Anything for 30-day trial.');
if (success <> 1) then
  begin
    //  Unlock failed.
    ShowMessage(http.LastErrorText);
    Exit;
  end;

//  The HTTP component now includes a method to generate
//  the current date/time in RFC 2616 compliant format.
//  Note: The GenTimeStamp method is available as a pre-release (as of 18-June-2008).
//  It will become available in the next new version dated after
//  18-June-2008.
curDateTime := http.GenTimeStamp();

ShowMessage(curDateTime);

//  The GET operation on the Service endpoint (s3.amazonaws.com) returns a list of all of the buckets owned by the authenticated sender of the request.
strToSign := 'GET' + #10 + #10 + #10 + curDateTime + #10 + '/';

crypt := TChilkatCrypt2.Create(Self);

success := crypt.UnlockComponent('Anything for 30-day trial.');
if (success <> 1) then
  begin
    ShowMessage(crypt.LastErrorText);
    Exit;
  end;

//  We want SHA1 for the HMAC hash algorithm:
crypt.HashAlgorithm := 'sha1';

//  These must be changed for your account:
AWSAccessKeyId := '0PN5J17HBGZHT7JJ3X82';
AWSSecretAccessKey := 'uV3F3YluFJax1cknvbcGwgjvx4QpvB+leU8dUj2o';

//  Set the HMAC secret key:
crypt.SetHmacKeyString(AWSSecretAccessKey);

//  By setting the charset = "utf-8", the string will be converted
//  to utf-8 (internal to the Chilkat component) prior to signing:
crypt.Charset := 'utf-8';

//  Indicate that Base64 output is desired:
crypt.EncodingMode := 'base64';

signature := crypt.HmacStringENC(strToSign);

authValue := 'AWS ' + AWSAccessKeyId + ':' + signature;

http.SetRequestHeader('Authorization',authValue);
http.SetRequestHeader('Date',curDateTime);

xmlResponse := http.QuickGetStr('http://s3.amazonaws.com/');
if (xmlResponse = NULL ) then
  begin
    //  Failed.  Show the last request header, response header,
    //  and response body.
    Memo1.Lines.Add(http.LastHeader);
    Memo1.Lines.Add('---');
    Memo1.Lines.Add(http.LastResponseHeader);
    Memo1.Lines.Add('---');
    Memo1.Lines.Add(http.LastErrorText);
  end
else
  begin
    //  Success, show the XML response:
    Memo1.Lines.Add(xmlResponse);
  end;
end;

 

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

Mail Component · .NET Email Component · XML Parser