使用WinSCP .NET程序集通过FTPS(安全)发送文件

New*_*bie 2 c# ftp ftps winscp winscp-net

使用FTPS(安全)使用WinSCP(.NET程序集)将文件发送到服务器需要什么?

我一直在查看他们的文档,并且在某些方面不太清楚,比如TlsHostCertificateFingerprintTlsClientCertificatePath.

我已经能够通过FTP和SFTP发送文件没有问题,但这一切都让我无法理解.

Mar*_*ryl 6

如果您有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
}
Run Code Online (Sandbox Code Playgroud)

TlsHostCertificateFingerprint只需要,如果你的服务器证书不是由受信任的机构签署的.

TlsClientCertificatePath只需要,如果你的服务器需要与客户端证书身份验证.


最简单的方法是在WinSCP GUI中配置会话,并让它为您生成代码模板.这就是我如何获得上述代码.