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
(DataFlex) SFTP Read Directory ListingDemonstrates how to download a directory listing and iterate over the files.
Use ChilkatAx-win32.pkg Procedure Test Handle hoSftp String sHostname Integer iPort Boolean iSuccess String sHandle Variant vDirListing Handle hoDirListing Integer i Integer n Variant vFileObj Handle hoFileObj String sTemp1 Integer iTemp1 Boolean bTemp1 // This requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // Important: It is helpful to send the contents of the // sftp.LastErrorText property when requesting support. Get Create (RefClass(cComChilkatSFtp)) To hoSftp If (Not(IsComObjectCreated(hoSftp))) Begin Send CreateComObject of hoSftp End // Set some timeouts, in milliseconds: Set ComConnectTimeoutMs Of hoSftp To 5000 Set ComIdleTimeoutMs Of hoSftp To 10000 // Connect to the SSH server. // The standard SSH port = 22 // The hostname may be a hostname or IP address. Move "www.my-sftp-server.com" To sHostname Move 22 To iPort Get ComConnect Of hoSftp sHostname iPort To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoSftp To sTemp1 Showln sTemp1 Procedure_Return End // Authenticate with the SSH server. Chilkat SFTP supports // both password-based authenication as well as public-key // authentication. This example uses password authenication. Get ComAuthenticatePw Of hoSftp "myLogin" "myPassword" To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoSftp To sTemp1 Showln sTemp1 Procedure_Return End // After authenticating, the SFTP subsystem must be initialized: Get ComInitializeSftp Of hoSftp To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoSftp To sTemp1 Showln sTemp1 Procedure_Return End // Open a directory on the server... // Paths starting with a slash are "absolute", and are relative // to the root of the file system. Names starting with any other // character are relative to the user's default directory (home directory). // A path component of ".." refers to the parent directory, // and "." refers to the current directory. Get ComOpenDir Of hoSftp "." To sHandle Get ComLastMethodSuccess Of hoSftp To bTemp1 If (bTemp1 <> True) Begin Get ComLastErrorText Of hoSftp To sTemp1 Showln sTemp1 Procedure_Return End // Download the directory listing: Get ComReadDir Of hoSftp sHandle To vDirListing If (IsComObject(vDirListing)) Begin Get Create (RefClass(cComChilkatSFtpDir)) To hoDirListing Set pvComObject Of hoDirListing To vDirListing End Get ComLastMethodSuccess Of hoSftp To bTemp1 If (bTemp1 <> True) Begin Get ComLastErrorText Of hoSftp To sTemp1 Showln sTemp1 Procedure_Return End // Close the handle for the directory listing. Get ComCloseHandle Of hoSftp sHandle To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoSftp To sTemp1 Showln sTemp1 Procedure_Return End // Iterate over the files. Move 0 To i Get ComNumFilesAndDirs Of hoDirListing To n While (i < n) Get ComGetFileObject Of hoDirListing i To vFileObj If (IsComObject(vFileObj)) Begin Get Create (RefClass(cComChilkatSFtpFile)) To hoFileObj Set pvComObject Of hoFileObj To vFileObj End Get ComFilename Of hoFileObj To sTemp1 Showln sTemp1 Get ComFileType Of hoFileObj To sTemp1 Showln sTemp1 Get ComSize32 Of hoFileObj To iTemp1 Showln "Size in bytes: " iTemp1 Showln "----" Send Destroy of hoFileObj Move (i + 1) To i Loop Send Destroy of hoDirListing Showln "Success." End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.