![]() |
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
(Classic ASP) Streaming Decrypt HTTP ResponseIf the an encrypted file was previously uploaded, this example demonstrates how to download and decrypt in a streaming way.
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <% ' This example requires the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.Rest") set rest = Server.CreateObject("Chilkat.Rest") bTls = 1 port = 443 bAutoReconnect = 1 success = rest.Connect("chilkatdownload.com",port,bTls,bAutoReconnect) ' Send the request to download a file. success = rest.SendReqNoBody("GET","/9.5.0.83/chilkat-9.5.0-python-3.8-x64.zip") If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode( rest.LastErrorText) & "</pre>" Response.End End If ' Read the response header. responseStatusCode = rest.ReadResponseHeader() If (responseStatusCode < 0) Then Response.Write "<pre>" & Server.HTMLEncode( rest.LastErrorText) & "</pre>" Response.End End If Response.Write "<pre>" & Server.HTMLEncode( "Response status code = " & responseStatusCode) & "</pre>" ' 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 (responseStatusCode <> 200) Then errResponse = rest.ReadRespBodyString() If (rest.LastMethodSuccess <> 1) Then Response.Write "<pre>" & Server.HTMLEncode( rest.LastErrorText) & "</pre>" Else Response.Write "<pre>" & Server.HTMLEncode( errResponse) & "</pre>" End If Response.End End If ' Create an object for decrypting. ' This example will use "none" for the encryption algorithm, which means it's just a pass-through. ' Typically you would set the decrypt properties, such as secret key, IV, key length, padding scheme, cipher mode.. ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.Crypt2") set crypt = Server.CreateObject("Chilkat.Crypt2") crypt.CryptAlgorithm = "none" ' The following settings are ignored in this test because our CryptAlgorithm is "none". ' However, if you were truly decrypting, you might set CryptAlgorithm = "aes". crypt.CipherMode = "cbc" crypt.KeyLength = 128 crypt.SetEncodedKey "000102030405060708090A0B0C0D0E0F","hex" crypt.SetEncodedIV "000102030405060708090A0B0C0D0E0F","hex" ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.Stream") set receiveStream = Server.CreateObject("Chilkat.Stream") ' The decryptStream's source will be the receiveStream. ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.Stream") set decryptStream = Server.CreateObject("Chilkat.Stream") ' The decrypt stream's sink will be a file. decryptStream.SinkFile = "qa_output/chilkat-9.5.0-python-3.8-x64.zip" success = decryptStream.SetSourceStream(receiveStream) ' Create and run a background async task to decrypt incoming data and write to a file. ' decryptStreamTask is a Chilkat.Task Set decryptStreamTask = crypt.DecryptStreamAsync(decryptStream) success = decryptStreamTask.Run() success = rest.ReadRespBodyStream(receiveStream,1) If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode( rest.LastErrorText) & "</pre>" Response.End End If Response.Write "<pre>" & Server.HTMLEncode( "Successfully received the .zip file.") & "</pre>" %> </body> </html> |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.