FluentFTP GetListing不返回任何结果

时间:2019-11-14 00:32:59

标签: c# ftps fluentftp

我似乎无法从/的FTP服务器获得任何列表。 (FileZilla显示目录和文件)。

我得到了以下代码:

$('document').ready(function(){});

但是它不起作用。我尝试了FTP选项,但没有得到任何结果。 还有其他建议吗?

1 个答案:

答案 0 :(得分:0)

根据您的代码,
由于无法连接到FTP服务器,因此无法获得任何结果。

这是您错过的内容,请参考:FAQ section of FluentFTP
您可能拥有certificate(*。crt,* .cer)文件,如下所示将其带入源代码。

ftpConn.ClientCertificates.Add(new X509Certificate2(@"C:\ftpServer.crt"));

如果您的证书文件没有根链。 (例如,由您自己制作,或者如果是私人证书文件)。
您需要在

处添加更多特定的代码
  

ftpConn.ValidateCertificate + =新的FtpSslValidation( Client_ValidateCertificate );

private void Client_ValidateCertificate(FtpClient control, FtpSslValidationEventArgs e)
{            
    if (e.PolicyErrors == SslPolicyErrors.None || e.Certificate.GetRawCertDataString() == "Use this condition for your situation")
    {
        e.Accept = true;
    }
    else
    {
        if (e.PolicyErrors == SslPolicyErrors.RemoteCertificateChainErrors)
        {
            //In this case, you need to choose connect or not. If your certificate file doen't have root chain.
        }
        else
        {
            //throw new Exception($"{e.PolicyErrors}{Environment.NewLine}{GetCertificateDetails(e.Certificate)}");
        }
    }
}

PS:如果Windows上的FTP服务没有别的选择,但是如果它在linux或unix上工作,则可以将SFTP与“ Renci.SshNet”一起使用。

相关问题