Programming Examples

ChilkatHOMEASPVisual BasicVB.NETC#CC++MFCDelphiFoxProJavaPerlPythonRubySQL ServerVBScript

PHP ActiveX Examples

Bounced Mail
Bz2
Certificates/Keys
Charset
CSV
DKIM / DomainKey
Diffie-Hellman
DSA
Email Object
Encryption
FileAccess
FTP
HTML Conversion
HTTP
IMAP
MHT / HTML Email
MIME
NTLM
POP3
RSA
SMTP
Socket
Spider
SSH Key
SSH
SSH Tunnel
SFTP
Tar
Upload
XML
Zip
Amazon S3


 

 

 

 

 

 

 

 

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

<?php

$http = new COM("Chilkat.Http");
$success = $http->UnlockComponent('Anything for 30-day trial.');
if ($success != true) {
    //  Unlock failed.
    print $http->lastErrorText() . "\n";
    exit;
}

//  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();

print $curDateTime . "\n";

//  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' . "\n" . "\n" . "\n" . $curDateTime . "\n" . '/';

$crypt = new COM("Chilkat.Crypt2");

$success = $crypt->UnlockComponent('Anything for 30-day trial.');
if ($success != true) {
    print $crypt->lastErrorText() . "\n";
    exit;
}

//  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 (is_null($xmlResponse)) {
    //  Failed.  Show the last request header, response header,
    //  and response body.
    print $http->lastHeader() . "\n";
    print '---' . "\n";
    print $http->lastResponseHeader() . "\n";
    print '---' . "\n";
    print $http->lastErrorText() . "\n";
}
else {
    //  Success, show the XML response:
    print $xmlResponse . "\n";
}

?>

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

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