主题:通过SSLFTP上传文件通过SSL C#
我尝试同时到达服务器 服务器侦听端口990 上传文件到FTP服务器,我有 但即时得到例外的一个FTP文件传输我认为这个问题是隐式/显式设置 任何人都可以建议我如何使用.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.");
}
这个问题了几天now..any帮助将不胜感激挣扎.. 可以使用隐式的设置,任何人都提出了基于SSL的FTP我很好的例子。网络4.0?
当你尝试过普通的FTP会发生什么?这可能是一个SSL证书错误问题(如果你想要这个问题可以绕过),但我只想确认一下。 –
我试过request.EnableSSL = false;它给了我同样的错误:( – pibcat
从我的开发环境,我试图FireZilla连接到服务器和上传成功的文件..不知道我的代码有什么问题.. – pibcat