-
-
Notifications
You must be signed in to change notification settings - Fork 656
Automatic Connection
-
AutoConnect() - Automatically discover working FTP connection settings and use those to connect to the server. This method will intelligently try certain combinations of connection settings until it finds a working combination. The connection types are tried in this order of preference.
-
AutoDetect() - Automatically discover working FTP connection settings and return those connection profiles. This method will intelligently try certain combinations of connection settings until it finds a working combination, and it will return the first found combination or all found combinations. The connection types are tried in this order of preference.
Use this code:
FtpClient client = new FtpClient(hostname, username, password); // or set Host & Credentials
client.AutoConnect();
Use this code:
FtpClient client = new FtpClient(hostname, username, password); // or set Host & Credentials
var profiles = client.AutoDetect();
// if any profiles are found, print the code to the console
if (profiles.Count > 0){
var code = profiles[0].ToCode();
Console.WriteLine(code);
}
Once you find a working connection profile, use the generated code to quickly connect to your FTP server.
Auto connection attempts to find working connection settings in this order of preference:
Protocol Preference:
- Explicit FTPS (TLS) - very common
- Plaintext FTP - very common
- Implicit FTPS (SSL) - outdated and very rare
FTPS Protocol Preference:
-
None
- Allows the operating system to choose the best protocol to use, and to block protocols that are not secure. -
Tls12 | Tls11
- TLS 1.2 or TLS 1.1 (TLS 1.3 is not yet stable in .NET Framework) -
Tls
- TLS 1.0 -
Default
- Undefined/weird behaviour
Data Connection Type Preference:
-
PASV
- We prefer passive as its the most reliable -
EPSV
- Enhanced passive is not as well supported on servers -
PORT
- PORT is an older connection type -
EPRT
- Enhanced PORT is not as well supported on servers PASVEX
Encoding Type Preference:
-
UTF8
- We always use Unicode if it can be supported by the server
- Auto Connection
- Auto Reconnection
- FTP(S) Connection
- FTP(S) Connection using GnuTLS
- FTPS Proxies
- Custom Servers
- Custom Commands
- v40 Migration Guide