Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
Amazon S3 - Create Bucket with PUT RequestDemonstrates how to create an Amazon S3 bucket by sending a PUT HTTP request.
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <% set http = Server.CreateObject("Chilkat.Http") success = http.UnlockComponent("Anything for 30-day trial.") If (success <> 1) Then ' Unlock failed. Response.Write http.LastErrorText & "<br>" 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() Response.Write curDateTime & "<br>" ' The PUT request operation with a bucket URI creates a new bucket. strToSign = "PUT" & vbLf & vbLf & vbLf & curDateTime & vbLf & "/chilkat/" set crypt = Server.CreateObject("Chilkat.Crypt2") success = crypt.UnlockComponent("Anything for 30-day trial.") If (success <> 1) Then Response.Write crypt.LastErrorText & "<br>" 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. Response.Write Server.HTMLEncode( http.LastHeader) & "<br>" Response.Write Server.HTMLEncode( "---") & "<br>" Response.Write Server.HTMLEncode( http.LastResponseHeader) & "<br>" Response.Write Server.HTMLEncode( "---") & "<br>" Response.Write Server.HTMLEncode( http.LastErrorText) & "<br>" Else ' Success is indicated by an empty xmlResponse string, and ' a response status of 200. If (http.LastStatus = 200) Then Response.Write "Bucket created!" & "<br>" ' Let's check out the response header anyway... Response.Write Server.HTMLEncode( http.LastResponseHeader) & "<br>" Else ' Failed. Show the last request header, response header, ' and response body. Response.Write Server.HTMLEncode( http.LastHeader) & "<br>" Response.Write Server.HTMLEncode( "---") & "<br>" Response.Write Server.HTMLEncode( http.LastResponseHeader) & "<br>" Response.Write Server.HTMLEncode( "---") & "<br>" Response.Write Server.HTMLEncode( http.LastErrorText) & "<br>" End If End If %> </body> </html> |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.