トピック: SSL を介した FTP ファイル転送
私が持っているftpサーバーの1つにファイルをアップロードしようとしていますが、ポート990でリッスンしているサーバーサーバーに到達するときに例外が発生します問題は暗黙的/明示的な設定にあると思います誰でも暗黙的な設定を使用してSSL経由でftpを行う方法を提案できますか.net 4.0で?
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 の良い例を教えてもらえますか?