Perl Examples

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

Perl Examples

Quick Start
Unicode
Byte Array
Bz2
Certificates
CSV
Email
Encryption
FTP
HTML Conversion
HTTP
IMAP
MHT
MIME
POP3
RSA
S/MIME
Signatures
SMTP
Socket / SSL
Spider
SFTP
SSH Key
SSH
SSH Tunnel
Tar
HTTP Upload
XML
XMP
Zip

More Examples...
String
Amazon S3
Email Object
DKIM / DomainKey
NTLM
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
Bzip2
LZW

 

 

 

 

 

 

 

Amazon S3 - List Buckets

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

 Chilkat Perl Module Downloads for Windows, Linux, and MAC OS X

use chilkat();

$http = new chilkat::CkHttp();
$success = $http->UnlockComponent("Anything for 30-day trial.");
if ($success != 1) {
    #  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 chilkat::CkCrypt2();

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

#  We want SHA1 for the HMAC hash algorithm:
$crypt->put_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->put_Charset("utf-8");

#  Indicate that Base64 output is desired:
$crypt->put_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 eq null ) {
    #  Failed.  Show the last request header, response header,
    #  and response body.
    print $http->lastHeader() . "\r\n";
    print "---" . "\r\n";
    print $http->lastResponseHeader() . "\r\n";
    print "---" . "\r\n";
    print $http->lastErrorText() . "\r\n";
}
else {
    #  Success, show the XML response:
    print $xmlResponse . "\r\n";
}

 

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