gpt4 book ai didi

c# - FTP 连接问题 - 使用 FluentFTP 端口 990 -TLS

转载 作者:行者123 更新时间:2023-12-04 13:59:43 36 4
gpt4 key购买 nike

我正在尝试使用 FluentFTP 通过端口 990 (TLS) 的 FTPS 连接下载文件。

但是代码无法建立连接并显示异常“根据验证程序远程证书无效”。

当我手动使用 FileZilla FTP 工具时,FTP 服务器连接正常(显示为通过 FTP 连接 TLS(隐式)

FtpClient fclient = new FtpClient(hostname, username, password); 
fclient.EncryptionMode = FtpEncryptionMode.Implicit;
fclient.SslProtocols = SslProtocols.Tls12; //Also tried with TLS1 and TLS
fclient.Port = 990;
fclient.Connect();

最佳答案

试试这个(取自 FluentFTP 的 ConnectFTPSCertificate.cs 示例)。重要的部分是回调OnValidateCertificate .

public static async Task ConnectFTPSCertificateAsync() {
var token = new CancellationToken();
using (var conn = new FtpClient("127.0.0.1", "ftptest", "ftptest")) {

conn.EncryptionMode = FtpEncryptionMode.Explicit;
conn.ValidateCertificate += new FtpSslValidation(OnValidateCertificate);
await conn.ConnectAsync(token);
}
}

private static void OnValidateCertificate(FtpClient control, FtpSslValidationEventArgs e) {
if (e.PolicyErrors == System.Net.Security.SslPolicyErrors.None) {
e.Accept = true;
}
else {
// add logic to test if certificate is valid here
// lookup the "Certificate" and "Chain" properties
e.Accept = false;
}
}

关于c# - FTP 连接问题 - 使用 FluentFTP 端口 990 -TLS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52321147/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com