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
(Visual FoxPro) SFTP Read Text File to StringDemonstrates how to download a text file from an SSH server directly into a string variable.
LOCAL loSftp LOCAL lcHostname LOCAL lnPort LOCAL lnSuccess LOCAL lcHandle LOCAL lnBFollowLinks LOCAL lnBIsHandle LOCAL lnNumBytes LOCAL lcCharset LOCAL lcFileContents * This example assumes 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.SFtp') loSftp = CreateObject('Chilkat.SFtp') * Set some timeouts, in milliseconds: loSftp.ConnectTimeoutMs = 5000 loSftp.IdleTimeoutMs = 15000 * Connect to the SSH server. * The standard SSH port = 22 * The hostname may be a hostname or IP address. lcHostname = "sftp.example.com" lnPort = 22 lnSuccess = loSftp.Connect(lcHostname,lnPort) IF (lnSuccess <> 1) THEN ? loSftp.LastErrorText RELEASE loSftp CANCEL ENDIF * Authenticate with the SSH server. Chilkat SFTP supports * both password-based authenication as well as public-key * authentication. This example uses password authenication. lnSuccess = loSftp.AuthenticatePw("myLogin","myPassword") IF (lnSuccess <> 1) THEN ? loSftp.LastErrorText RELEASE loSftp CANCEL ENDIF * After authenticating, the SFTP subsystem must be initialized: lnSuccess = loSftp.InitializeSftp() IF (lnSuccess <> 1) THEN ? loSftp.LastErrorText RELEASE loSftp CANCEL ENDIF * Open a file on the server: lcHandle = loSftp.OpenFile("hamlet.xml","readOnly","openExisting") IF (loSftp.LastMethodSuccess <> 1) THEN ? loSftp.LastErrorText RELEASE loSftp CANCEL ENDIF * Get the total size of this file (in bytes) lnBFollowLinks = 0 lnBIsHandle = 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.) lnNumBytes = loSftp.GetFileSize32(lcHandle,lnBFollowLinks,lnBIsHandle) IF (lnNumBytes < 0) THEN ? loSftp.LastErrorText RELEASE loSftp CANCEL ENDIF * 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. lcCharset = "ansi" lcFileContents = loSftp.ReadFileText(lcHandle,lnNumBytes,lcCharset) IF (loSftp.LastMethodSuccess <> 1) THEN ? loSftp.LastErrorText RELEASE loSftp CANCEL ELSE ? "Received file:" ? lcFileContents ENDIF * Close the file. lnSuccess = loSftp.CloseHandle(lcHandle) IF (lnSuccess <> 1) THEN ? loSftp.LastErrorText RELEASE loSftp CANCEL ENDIF ? "Success." RELEASE loSftp |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.