具有WebClient错误的C#FTP:远程服务器返回错误:(534)534策略需要SSL

时间:2018-06-28 21:10:43

标签: c# .net ftp webclient ftps

我的代码的目的是将一些数据上传到FTP位置。

使用我的代码,我不断收到错误消息,指出远程服务器需要SSL。我正在使用大于4的.NET版本。所有其他文章建议我添加下面的ServicePointManager代码。

该异常发生在client.UploadData上。

仍然没有骰子。任何帮助将不胜感激。

ServicePointManager.ServerCertificateValidationCallback +=
    (sender,certificate, chain, sslPolicyErrors) => true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
byte[] data = stream.ToArray(); //Data I want to upload to FTP location

using (WebClient client = new WebClient())
{
    client.Credentials = new NetworkCredential("*Username*", "*Password*");
    client.UploadData("ftp://file.example.com/Content/file", "STOR", data);
}

1 个答案:

答案 0 :(得分:2)

Afaik,WebClient本机不支持TLS上的FTP(FTPS)(实际上,它在内部内都支持它,但没有API来启用它)。

设置ServicePointManager.SecurityProtocol无济于事。绝对不要将其设置为SecurityProtocolType.Ssl3