Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
Amazon S3 - List BucketsDemonstrates how to send a GET request to the Amazon S3 service to list buckets. require 'chilkat' http = Chilkat::CkHttp.new() success = http.UnlockComponent("Anything for 30-day trial.") if (success != true) # Unlock failed. print http.lastErrorText() + "\n" 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() 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 = Chilkat::CkCrypt2.new() success = crypt.UnlockComponent("Anything for 30-day trial.") if (success != true) print crypt.lastErrorText() + "\n" exit end # 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 == nil ) # 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"; end |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.