|  | 
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  Tcl  Unicode C  Unicode C++  VB.NET  VBScript  Visual Basic 6.0  Visual FoxPro  Xojo Plugin
| (AutoIt) (using AWS Signature Version 2) Streaming Download to FileThe main purpose of this example is to demonstrate how to use the older Signature Version 2 authentication w/ S3. It uses V2 authentication to download a file. 
 ; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. $oRest = ObjCreate("Chilkat.Rest") ; Connect to the Amazon AWS REST server. Local $bTls = True Local $iPort = 443 Local $bAutoReconnect = True ; The file is located in the bucket named "chilkat100", which becomes part of the domain: Local $bSuccess = $oRest.Connect("chilkat100.s3.amazonaws.com",$iPort,$bTls,$bAutoReconnect) ; Provide AWS credentials for the REST call. $oAuthAws = ObjCreate("Chilkat.AuthAws") $oAuthAws.AccessKey = "AWS_ACCESS_KEY" $oAuthAws.SecretKey = "AWS_SECRET_KEY" $oAuthAws.ServiceName = "s3" ; For AWS Signature Version 2, the following two properties need to be set: $oAuthAws.SignatureVersion = 2 ; See http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html#ConstructingTheCanonicalizedResourceElement $oAuthAws.CanonicalizedResourceV2 = "/chilkat100/starfish.jpg" $bSuccess = $oRest.SetAuthAws($oAuthAws) ; Send the request to download the JPG. $bSuccess = $oRest.SendReqNoBody("GET","/starfish.jpg") If ($bSuccess <> True) Then ConsoleWrite($oRest.LastErrorText & @CRLF) Exit EndIf ; Read the response header. Local $iResponseStatusCode = $oRest.ReadResponseHeader() If ($iResponseStatusCode < 0) Then ConsoleWrite($oRest.LastErrorText & @CRLF) Exit EndIf ConsoleWrite("Response status code = " & $iResponseStatusCode & @CRLF) ; We expect a 200 response status if the JPG data is coming. ; Otherwise, we'll get a string response body with an error message(or no response body). If ($iResponseStatusCode = 200) Then $oBodyStream = ObjCreate("Chilkat.Stream") ; The stream's sink will be a file. $oBodyStream.SinkFile = "qa_output/starfish.jpg" ; Read the response body to the stream. Given that we've ; set the stream's sink to a file, it will stream directly ; to the file. $bSuccess = $oRest.ReadRespBodyStream($oBodyStream,True) If ($bSuccess <> True) Then ConsoleWrite($oRest.LastErrorText & @CRLF) Exit EndIf ConsoleWrite("Successfully received the JPG file." & @CRLF) Else Local $sErrResponse = $oRest.ReadRespBodyString() If ($oRest.LastMethodSuccess <> True) Then ConsoleWrite($oRest.LastErrorText & @CRLF) Else ConsoleWrite($sErrResponse & @CRLF) EndIf EndIf | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.