【问题标题】:Getting a 421 error收到 421 错误
【发布时间】:2016-05-06 14:15:28
【问题描述】:

我正在尝试从公共 ftp 服务器下载文件。这是我的 c# 源代码:

        FtpWebRequest request = FtpWebRequest.Create(new Uri("ftp://ftp.exotic-guild.de/test.exe")) as FtpWebRequest;


        request.Credentials = new NetworkCredential("anonymous@exotic-guild.de", "");
        request.UsePassive = true;
        request.UseBinary = true;
        request.KeepAlive = true;
        request.Method = WebRequestMethods.Ftp.DownloadFile;
        FtpWebResponse response = request.GetResponse() as FtpWebResponse;
        System.IO.Stream responseStream = response.GetResponseStream();

        responseStream.Close();
        response.Close(); //Closes the connection to the server

这里是来自 public_ftp 服务器的文档链接:wolkenbauer anonymus ftp documentation

【问题讨论】:

    标签: c# ftp ftp-client


    【解决方案1】:

    使用ftp.exe ftp.exotic-guild.de 的响应是:

    421 抱歉,此服务器不接受明文会话和弱密码。 请使用 SSL/TLS 安全机制重新连接。 连接被远程主机关闭。

    所以添加:

    request.EnableSsl = true;
    System.Net.ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true;
    

    第二行绕过证书验证,因为提供的证书由于某种原因无效(您可能需要调查)。

    根据验证程序,远程证书无效

    【讨论】:

      猜你喜欢
      • 2020-12-03
      • 1970-01-01
      • 2020-01-25
      • 2018-10-21
      • 2017-03-18
      • 2014-09-08
      • 2013-03-26
      • 2012-07-13
      相关资源
      最近更新 更多