c#4.0-通过SSL c#上传FTP文件
本文关键字:FTP 文件 上传 0-通过 SSL c#4 | 更新日期: 2023-09-27 17:57:30
主题:通过SSL 传输FTP文件
我正在尝试将文件上传到我的一个ftp服务器但我在到达服务器时出现异常服务器侦听端口990我认为问题出在隐式/显式设置上有人能建议我如何使用.net 4.0中的隐式设置通过SSL进行ftp吗?
调用方法GetRequestStream时出现异常:基础连接已关闭:服务器违反了协议。
以下是代码片段:
FileInfo ExportFile = new FileInfo("C:''ServiceXML.xml");
FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create("ftpserver" + "/FolderName/" + ExportFile.Name);
request.EnableSsl = true;
request.Credentials = new NetworkCredential("username", "password");
request.KeepAlive = true;
request.Method = WebRequestMethods.Ftp.UploadFile;
request.UseBinary = true;
request.ContentLength = ExportFile.Length;
request.UsePassive = true;
ServicePointManager.ServerCertificateValidationCallback = delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; };
try
{
int bufferLen = 4096;
byte[] buffer = new byte[4096];
int contentLen;
FileStream fsExport = ExportFile.OpenRead();
Stream ftpStream = request.GetRequestStream();
contentLen = fsExport.Read(buffer, 0, bufferLen);
while (contentLen != 0)
{
ftpStream.Write(buffer, 0, contentLen);
contentLen = fsExport.Read(buffer, 0, bufferLen);
}
fsExport.Close();
fsExport.Dispose();
ftpStream.Close();
ftpStream.Dispose();
}
catch (Exception ex)
{
//LogError(ex, "Error in FTP Request.");
}
为这个问题斗争了几天。。任何帮助都将不胜感激。。有人能给我推荐一个使用.net 4.0中隐含设置的FTP over SSL的好例子吗?
有类似的问题,只是我在.net 4上收到了"处理中的本地错误"。将框架更改为.net 3.5,它起到了作用。
当我没有在URI中设置端口时,我也遇到了同样的问题,您的ftpserver变量应该类似于ftp://127.0.0.1:990