FTP сервер возвращает ошибку 227 - C#
Формулировка задачи:
Доброго времени суток. Собственно, сабж в титле.
Сама ошибка выглядит по меньшей мере непонятно:
при чём тут ошибка? мне же и нужно в пассивный режим зайти... ладно, едем дальше.
Опыта работы с ftp нет, нашел какие то исходники, собрал проект, выдаётся вышеупомянутое исключение. Упростил код до невозможности, ошибка осталась. Странность ещё в том, что в totalCommander соединение удаётся,
пробовал так же ставить
"Удаленный сервер возвратил ошибку: 227 Entering Passive Mode (192,168,1,136,39,43)"
private void btn_connect_Click_2(object sender, RoutedEventArgs e) { FtpWebRequest requestDir = (FtpWebRequest)FtpWebRequest.Create("ftp://192.168.1.136/"); requestDir.Credentials = new NetworkCredential("uploadhis", "111111"); requestDir.Method = "LIST"; requestDir.UseBinary = true; requestDir.EnableSsl = false; requestDir.UsePassive = true; try { WebResponse response = requestDir.GetResponse(); } catch (Exception ex) { MessageBox.Show(ex.ToString() + ": \n" + ex.Message); } }
requestDir.UsePassive = false;
, тогда ошибка 500, синтаксическая, мол, команда не опознана. Буду благодарен, если мне объяснят, что я делаю не так)Решение задачи: «FTP сервер возвращает ошибку 227»
textual
Листинг программы
FTP _ftp; private void btn_Connect_click(object sender, RoutedEventArgs e) { _ftp = new FTP(); _ftp.TransferCompleteEvent += new FTP.TransferCompleteEventHandler(ftp_TransferCompleted); _ftp.HostAddress = "192.168.1.136"; _ftp.UserName = "uploadhis"; _ftp.Password = "111111"; _ftp.Port = 21; _ftp.UseBinary = true; _ftp.OverwriteFiles = true; _ftp.OverwriteReadOnlyFiles = false; _ftp.EnableSSL = false; _ftp.UsePassive = true; _ftp.Connect(); string localPath = new FileInfo(System.Reflection.Assembly.GetExecutingAssembly().Location).DirectoryName; _ftp.CurrentDirectory = @""; _ftp.DownloadDirectoryAsync(localPath, @"datalog"); } private void ftp_TransferCompleted(Object sender, TransferCompletedEventArgs e) { _ftp.Disconnect(); //... }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д