Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PowerBuilder) Streaming Decrypt HTTP ResponseIf the an encrypted file was previously uploaded, this example demonstrates how to download and decrypt in a streaming way.
integer li_rc oleobject loo_Rest integer li_BTls integer li_Port integer li_BAutoReconnect integer li_Success integer li_ResponseStatusCode string ls_ErrResponse oleobject loo_Crypt oleobject loo_ReceiveStream oleobject loo_DecryptStream oleobject loo_DecryptStreamTask // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. loo_Rest = create oleobject // Use "Chilkat_9_5_0.Rest" for versions of Chilkat < 10.0.0 li_rc = loo_Rest.ConnectToNewObject("Chilkat.Rest") if li_rc < 0 then destroy loo_Rest MessageBox("Error","Connecting to COM object failed") return end if li_BTls = 1 li_Port = 443 li_BAutoReconnect = 1 li_Success = loo_Rest.Connect("chilkatdownload.com",li_Port,li_BTls,li_BAutoReconnect) // Send the request to download a file. li_Success = loo_Rest.SendReqNoBody("GET","/9.5.0.83/chilkat-9.5.0-python-3.8-x64.zip") if li_Success <> 1 then Write-Debug loo_Rest.LastErrorText destroy loo_Rest return end if // Read the response header. li_ResponseStatusCode = loo_Rest.ReadResponseHeader() if li_ResponseStatusCode < 0 then Write-Debug loo_Rest.LastErrorText destroy loo_Rest return end if Write-Debug "Response status code = " + string(li_ResponseStatusCode) // 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 li_ResponseStatusCode <> 200 then ls_ErrResponse = loo_Rest.ReadRespBodyString() if loo_Rest.LastMethodSuccess <> 1 then Write-Debug loo_Rest.LastErrorText else Write-Debug ls_ErrResponse end if destroy loo_Rest return 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.. loo_Crypt = create oleobject // Use "Chilkat_9_5_0.Crypt2" for versions of Chilkat < 10.0.0 li_rc = loo_Crypt.ConnectToNewObject("Chilkat.Crypt2") loo_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". loo_Crypt.CipherMode = "cbc" loo_Crypt.KeyLength = 128 loo_Crypt.SetEncodedKey("000102030405060708090A0B0C0D0E0F","hex") loo_Crypt.SetEncodedIV("000102030405060708090A0B0C0D0E0F","hex") loo_ReceiveStream = create oleobject // Use "Chilkat_9_5_0.Stream" for versions of Chilkat < 10.0.0 li_rc = loo_ReceiveStream.ConnectToNewObject("Chilkat.Stream") // The decryptStream's source will be the receiveStream. loo_DecryptStream = create oleobject // Use "Chilkat_9_5_0.Stream" for versions of Chilkat < 10.0.0 li_rc = loo_DecryptStream.ConnectToNewObject("Chilkat.Stream") // The decrypt stream's sink will be a file. loo_DecryptStream.SinkFile = "qa_output/chilkat-9.5.0-python-3.8-x64.zip" loo_DecryptStream.SetSourceStream(loo_ReceiveStream) // Create and run a background async task to decrypt incoming data and write to a file. loo_DecryptStreamTask = loo_Crypt.DecryptStreamAsync(loo_DecryptStream) li_Success = loo_DecryptStreamTask.Run() li_Success = loo_Rest.ReadRespBodyStream(loo_ReceiveStream,1) if li_Success <> 1 then Write-Debug loo_Rest.LastErrorText destroy loo_Rest destroy loo_Crypt destroy loo_ReceiveStream destroy loo_DecryptStream return end if Write-Debug "Successfully received the .zip file." destroy loo_Rest destroy loo_Crypt destroy loo_ReceiveStream destroy loo_DecryptStream |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.