主題:通過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