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) SFTP Read Text File to StringDemonstrates how to download a text file from an SSH server directly into a string variable.
integer li_rc oleobject loo_Sftp string ls_Hostname integer li_Port integer li_Success string ls_Handle integer li_BFollowLinks integer li_BIsHandle integer li_NumBytes string ls_Charset string ls_FileContents // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. loo_Sftp = create oleobject // Use "Chilkat_9_5_0.SFtp" for versions of Chilkat < 10.0.0 li_rc = loo_Sftp.ConnectToNewObject("Chilkat.SFtp") if li_rc < 0 then destroy loo_Sftp MessageBox("Error","Connecting to COM object failed") return end if // Set some timeouts, in milliseconds: loo_Sftp.ConnectTimeoutMs = 5000 loo_Sftp.IdleTimeoutMs = 15000 // Connect to the SSH server. // The standard SSH port = 22 // The hostname may be a hostname or IP address. ls_Hostname = "sftp.example.com" li_Port = 22 li_Success = loo_Sftp.Connect(ls_Hostname,li_Port) if li_Success <> 1 then Write-Debug loo_Sftp.LastErrorText destroy loo_Sftp return end if // Authenticate with the SSH server. Chilkat SFTP supports // both password-based authenication as well as public-key // authentication. This example uses password authenication. li_Success = loo_Sftp.AuthenticatePw("myLogin","myPassword") if li_Success <> 1 then Write-Debug loo_Sftp.LastErrorText destroy loo_Sftp return end if // After authenticating, the SFTP subsystem must be initialized: li_Success = loo_Sftp.InitializeSftp() if li_Success <> 1 then Write-Debug loo_Sftp.LastErrorText destroy loo_Sftp return end if // Open a file on the server: ls_Handle = loo_Sftp.OpenFile("hamlet.xml","readOnly","openExisting") if loo_Sftp.LastMethodSuccess <> 1 then Write-Debug loo_Sftp.LastErrorText destroy loo_Sftp return end if // Get the total size of this file (in bytes) li_BFollowLinks = 0 li_BIsHandle = 1 // bFollowLinks is ignored because we are passing a handle // and not a remote filename. // There are alternative methods for handling file sizes // greater than 32-bit. (See the reference documentation.) li_NumBytes = loo_Sftp.GetFileSize32(ls_Handle,li_BFollowLinks,li_BIsHandle) if li_NumBytes < 0 then Write-Debug loo_Sftp.LastErrorText destroy loo_Sftp return end if // The charset indicates the character encoding of the text // file on the SSH server. Setting the charset correctly // allows the Chilkat SFTP component to correctly interpret // the bytes that represent the characters. ls_Charset = "ansi" ls_FileContents = loo_Sftp.ReadFileText(ls_Handle,li_NumBytes,ls_Charset) if loo_Sftp.LastMethodSuccess <> 1 then Write-Debug loo_Sftp.LastErrorText destroy loo_Sftp return else Write-Debug "Received file:" Write-Debug ls_FileContents end if // Close the file. li_Success = loo_Sftp.CloseHandle(ls_Handle) if li_Success <> 1 then Write-Debug loo_Sftp.LastErrorText destroy loo_Sftp return end if Write-Debug "Success." destroy loo_Sftp |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.