-
-
Notifications
You must be signed in to change notification settings - Fork 657
Automatic Connection
-
AutoDetect() - Automatically discover working FTP connection settings and return those connection profiles. This method will try every possible connection type combination in a loop 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.
-
AutoConnect() - Automatically discover working FTP connection settings and use those to connect to the server. This method will try every possible connection type combination in a loop until it finds a working combination. The connection types are tried in this order of preference.
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.
Use this code:
FtpClient client = new FtpClient(hostname, username, password); // or set Host & Credentials
client.AutoConnect();
Auto connection attempts to find working connection settings in this order of preference:
Protocol Preference:
-
SysSslProtocols.None
- Let the OS decide which TLS/SSL version to use -
SysSslProtocols.Tls12
- TLS 1.2 (TLS 1.3 is not yet stable in .NET Framework) -
SysSslProtocols.Tls11
- TLS 1.1 -
SysSslProtocols.Tls
- TLS 1.0 -
SysSslProtocols.Ssl3
- SSL 3.0 (obsolete, need to use TLS instead) -
SysSslProtocols.Ssl2
- SSL 2.0 (obsolete, need to use TLS instead) -
SysSslProtocols.Default
- Undefined/weird behaviour
Data Connection Type Preference:
-
FtpDataConnectionType.PASV
- We prefer passive as its the most reliable -
FtpDataConnectionType.EPSV
- Enhanced methods are not as well supported on servers -
FtpDataConnectionType.PORT
- PORT is an older connection type -
FtpDataConnectionType.EPRT
- Enhanced PORT FtpDataConnectionType.PASVEX
Encoding Type Preference:
-
Encoding.UTF8
- We prefer Unicode encoding as there will be no issues with file and folder names -
Encoding.ASCII
- ASCII/ANSI is a fallback used for older servers
- Auto Connection
- Auto Reconnection
- FTP(S) Connection
- FTP(S) Connection using GnuTLS
- FTPS Proxies
- Custom Servers
- Custom Commands
- v40 Migration Guide