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.
Dim fso, outFile Set fso = CreateObject("Scripting.FileSystemObject") Set outFile = fso.CreateTextFile("output.txt", True) set http = CreateObject("Chilkat.Http") success = http.UnlockComponent("Anything for 30-day trial.") If (success <> 1) Then ' Unlock failed. MsgBox http.LastErrorText WScript.Quit End If ' 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() MsgBox curDateTime ' The PUT request operation with a bucket URI creates a new bucket. strToSign = "PUT" & vbLf & vbLf & vbLf & curDateTime & vbLf & "/chilkat/" set crypt = CreateObject("Chilkat.Crypt2") success = crypt.UnlockComponent("Anything for 30-day trial.") If (success <> 1) Then MsgBox crypt.LastErrorText WScript.Quit End If ' We want SHA1 for the HMAC hash algorithm: crypt.HashAlgorithm = "sha1" ' These must be changed for your account: AWSAccessKeyId = "zzzzzzzzzzzzzzzzzzzzz" 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" signature = crypt.HmacStringENC(strToSign) 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" xmlResponse = http.QuickPutStr("http://s3.amazonaws.com/") If (xmlResponse = vbNullString ) Then ' Failed. Show the last request header, response header, ' and response body. outFile.WriteLine(http.LastHeader) outFile.WriteLine("---") outFile.WriteLine(http.LastResponseHeader) outFile.WriteLine("---") outFile.WriteLine(http.LastErrorText) Else ' Success is indicated by an empty xmlResponse string, and ' a response status of 200. If (http.LastStatus = 200) Then MsgBox "Bucket created!" ' Let's check out the response header anyway... outFile.WriteLine(http.LastResponseHeader) Else ' Failed. Show the last request header, response header, ' and response body. outFile.WriteLine(http.LastHeader) outFile.WriteLine("---") outFile.WriteLine(http.LastResponseHeader) outFile.WriteLine("---") outFile.WriteLine(http.LastErrorText) End If End If outFile.Close |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.