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
(Go) Get FTP File PermissionsGo example showing how to retrieve file permissions (via FTP) for each file in a remote directory.
// This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. ftp := chilkat.NewFtp2() // Set the various properties to establish the connection. ftp.SetHostname("ftp.example.com") ftp.SetUsername("login") ftp.SetPassword("password") // If SSL/TLS is required.. // See http://www.cknotes.com/determining-ftp2-connection-settings/ // for more information. ftp.SetAuthTls(true) ftp.SetPassiveUseHostAddr(true) // Connect to the FTP server: success := ftp.ConnectOnly() if success != true { fmt.Println(ftp.LastErrorText()) ftp.DisposeFtp2() return } // Authenticate with the FTP server. success = ftp.LoginAfterConnectOnly() if success != true { fmt.Println(ftp.LastErrorText()) ftp.DisposeFtp2() return } // To get file permissions in UNIX format, disallow MSLD: ftp.SetAllowMlsd(false) // To get file and sub-directory information, simply // loop from 0 to ftp.GetDirCount() - 1 i := 0 n := ftp.GetDirCount() if n < 0 { fmt.Println(ftp.LastErrorText()) ftp.DisposeFtp2() return } // Show the type of permissions information that is available. // The two most common types are "mlsd" and "unix". See the // online reference documentation for more information. if n > 0 { fmt.Println("The permissions format is: ", *ftp.GetPermType(0)) } for i < n { // Display the permissions and filename fmt.Println(*ftp.GetPermissions(i), " ", *ftp.GetFilename(i)) i = i + 1 } // Assuming MLSD was possible, let's see the file permissions in MLSD format: ftp.SetAllowMlsd(true) // Clear the directory cache so we're forced to re-fetch the directory listing: ftp.ClearDirCache() n = ftp.GetDirCount() if n < 0 { fmt.Println(ftp.LastErrorText()) ftp.DisposeFtp2() return } // Show the type of permissions information that is available. // The two most common types are "mlsd" and "unix". See the // online reference documentation for more information. if n > 0 { fmt.Println("----") fmt.Println("The permissions format is: ", *ftp.GetPermType(0)) } i = 0 for i < n { // Display the permissions and filename fmt.Println(*ftp.GetPermissions(i), " ", *ftp.GetFilename(i)) i = i + 1 } success = ftp.Disconnect() ftp.DisposeFtp2() |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.