Я пытаюсь создать небольшое консольное приложение, которое загружает файлы с ftp-сервера через явный FTP через TLS. Я уже создавал эти приложения раньше, но у меня появляется сообщение об ошибке. Я продолжаю получать эту ошибку:
Удаленный сервер возвратил ошибку: 150 Открытие соединения данных в режиме ДВОИЧНЫЙ для "filename" ‹2000 байт>.
Кажется, я не могу понять, что делать, может ли кто-нибудь мне помочь?
это мой код:
public void DownloadFiles(string fileName)
{
uri.Scheme = "ftp";
uri.Host = ftpUrl;
uri.Port = 21;
uri.UserName = username;
uri.Password = password;
uri.Path = "out";
try
{
FtpWebRequest reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri.ToString() + "/" + fileName));
reqFTP.EnableSsl = true;
reqFTP.UseBinary = true;
reqFTP.Credentials = new NetworkCredential(username, password);
reqFTP.Method = WebRequestMethods.Ftp.DownloadFile;
FtpWebResponse response;
response = (FtpWebResponse)reqFTP.GetResponse();
Stream responseStream = response.GetResponseStream();
FileStream writeStream = new FileStream(localFolder + fileName, FileMode.Create);
long length = response.ContentLength;
int bufferSize = 2048;
Byte[] buffer = new Byte[bufferSize];
int readCount = responseStream.Read(buffer, 0, bufferSize);
while (readCount > 0)
{
writeStream.Write(buffer, 0, readCount);
readCount = responseStream.Read(buffer, 0, bufferSize);
}
AppendLogFile(response, "Downloading Files: ", fileName);
writeStream.Close();
responseStream.Close();
response.Close();
reqFTP.Abort();
}
catch (Exception ex)
{
Console.WriteLine("Error in DownloadFileByFileName method!! " + ex.Message);
}
}
Благодарность!
response = (FtpWebResponse)reqFTP.GetResponse();
- person Lahib   schedule 05.03.2014