Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
Amazon S3 - Create Bucket with PUT RequestDemonstrates how to create an Amazon S3 bucket by sending a PUT HTTP request.
Chilkat.Http http = new Chilkat.Http(); bool success; success = http.UnlockComponent("Anything for 30-day trial."); if (success != true) { // Unlock failed. MessageBox.Show(http.LastErrorText); return; } // 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. string curDateTime; curDateTime = http.GenTimeStamp(); MessageBox.Show(curDateTime); // The PUT request operation with a bucket URI creates a new bucket. string strToSign; strToSign = "PUT" + "\n" + "\n" + "\n" + curDateTime + "\n" + "/chilkat/"; Chilkat.Crypt2 crypt = new Chilkat.Crypt2(); success = crypt.UnlockComponent("Anything for 30-day trial."); if (success != true) { MessageBox.Show(crypt.LastErrorText); return; } // We want SHA1 for the HMAC hash algorithm: crypt.HashAlgorithm = "sha1"; // These must be changed for your account: string AWSAccessKeyId; AWSAccessKeyId = "zzzzzzzzzzzzzzzzzzzzz"; string AWSSecretAccessKey; AWSSecretAccessKey = "zzzzzzzzzzzzzzzzzzzzzzzzzzzz"; // 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"; string signature; signature = crypt.HmacStringENC(strToSign); string authValue; authValue = "AWS " + AWSAccessKeyId + ":" + signature; // The bucket to be created is specified in the Host header. // In this example, the "chilkat" bucket is created: http.SetRequestHeader("Host","chilkat.s3.amazonaws.com"); http.SetRequestHeader("Authorization",authValue); http.SetRequestHeader("Date",curDateTime); http.SetRequestHeader("Content-Length","0"); string xmlResponse; xmlResponse = http.QuickPutStr("http://s3.amazonaws.com/"); if (xmlResponse == null ) { // Failed. Show the last request header, response header, // and response body. textBox1.Text += http.LastHeader + "\r\n"; textBox1.Text += "---" + "\r\n"; textBox1.Text += http.LastResponseHeader + "\r\n"; textBox1.Text += "---" + "\r\n"; textBox1.Text += http.LastErrorText + "\r\n"; } else { // Success is indicated by an empty xmlResponse string, and // a response status of 200. if (http.LastStatus == 200) { MessageBox.Show("Bucket created!"); // Let's check out the response header anyway... textBox1.Text += http.LastResponseHeader + "\r\n"; } else { // Failed. Show the last request header, response header, // and response body. textBox1.Text += http.LastHeader + "\r\n"; textBox1.Text += "---" + "\r\n"; textBox1.Text += http.LastResponseHeader + "\r\n"; textBox1.Text += "---" + "\r\n"; textBox1.Text += http.LastErrorText + "\r\n"; } } |
© 2000-2012 Chilkat Software, Inc. All Rights Reserved.