![](/img/trans.png)
[英]C# FTP with FtpWebRequest upload fails with “534 policy requires ssl”
[英]C# FTP with WebClient Error: The remote server returned an error: (534) 534 Policy requires SSL
我的代码的目的是将一些数据上传到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);
}
Afaik, WebClient
本身不支持TLS上的FTP(FTPS)(实际上内部支持,但没有API来启用它)。
设置ServicePointManager.SecurityProtocol
无法帮助。 绝对不要将其设置为SecurityProtocolType.Ssl3
!
ftps://
前缀,如此处所示: 强制WebClient使用SSL 。 或代替WebClient
,使用FtpWebRequest
,它本身支持基于TLS的FTP。
使用如下代码:
在C#/。NET中向FTP服务器上载二进制文件或从FTP服务器下载二进制文件
然后添加
request.EnableSsl = true;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.