使用 WinSCP .NET 程序集通过 FTPS(安全)发送文件
Sending files over FTPS (secure) using WinSCP .NET assembly
使用 FTPS(安全)将文件发送到带有 WinSCP(.NET 程序集)的服务器需要什么?
我一直在查看他们的文档,但对 TlsHostCertificateFingerprint
或 TlsClientCertificatePath
等某些方面并不是很清楚。
我已经能够通过 FTP 和 SFTP 毫无问题地发送文件,但这整件事让我望而却步。
如果您有 FTP 的代码,您只需添加即可连接到性能良好的 FTPS(FTP over TLS/SSL)服务器设置 SessionOptions.FtpSecure
:
// Set up session options
SessionOptions sessionOptions = new SessionOptions
{
Protocol = Protocol.Ftp,
HostName = "ftp.example.com",
UserName = "username",
Password = "password",
// Enable FTPS in explicit mode, aka FTPES
FtpSecure = FtpSecure.Explicit,
};
using (Session session = new Session())
{
// Connect
session.Open(sessionOptions);
// Your code
}
仅当您的服务器证书未由可信机构签署时才需要 TlsHostCertificateFingerprint
。
仅当您的服务器需要使用客户端证书进行身份验证时才需要 TlsClientCertificatePath
。
最简单的方法是 configure your session in WinSCP GUI and have it generate a code template 为您服务。这实际上就是我得到上面代码的方式。
使用 FTPS(安全)将文件发送到带有 WinSCP(.NET 程序集)的服务器需要什么?
我一直在查看他们的文档,但对 TlsHostCertificateFingerprint
或 TlsClientCertificatePath
等某些方面并不是很清楚。
我已经能够通过 FTP 和 SFTP 毫无问题地发送文件,但这整件事让我望而却步。
如果您有 FTP 的代码,您只需添加即可连接到性能良好的 FTPS(FTP over TLS/SSL)服务器设置 SessionOptions.FtpSecure
:
// Set up session options
SessionOptions sessionOptions = new SessionOptions
{
Protocol = Protocol.Ftp,
HostName = "ftp.example.com",
UserName = "username",
Password = "password",
// Enable FTPS in explicit mode, aka FTPES
FtpSecure = FtpSecure.Explicit,
};
using (Session session = new Session())
{
// Connect
session.Open(sessionOptions);
// Your code
}
仅当您的服务器证书未由可信机构签署时才需要 TlsHostCertificateFingerprint
。
仅当您的服务器需要使用客户端证书进行身份验证时才需要 TlsClientCertificatePath
。
最简单的方法是 configure your session in WinSCP GUI and have it generate a code template 为您服务。这实际上就是我得到上面代码的方式。