Я разработал метод загрузки файлов с ftp-сервера Windows, и он работает правильно.Но когда я пытаюсь использовать его для загрузки файлов с сервера Linux, у меня возникают проблемы с методом FTPWebRequest: WebRequestMethods.Ftp.ListDirectory: я ловлю исключение, что файл не существует.
Вот код, где япопробуйте получить список файлов:
FtpWebRequest reqFTP = (FtpWebRequest)WebRequest.Create("ftp://blabla.cnvt.com/files/");
reqFTP.Credentials = new NetworkCredential("userId", "password");
reqFTP.KeepAlive = false;
reqFTP.UseBinary = true;
reqFTP.Method = WebRequestMethods.Ftp.ListDirectory;
reqFTP.UsePassive = false;
reqFTP.Proxy = null;
response = (FtpWebResponse)reqFTP.GetResponse();
Stream responseStream = response.GetResponseStream();
reader = new StreamReader(responseStream);
string line = reader.ReadLine();
while (line != null)
{
result.Append(line);
result.Append("\n");
line = reader.ReadLine();
}
Обратите внимание, что когда я использую метод ListDirectoryDetails, он работает, но я не могу правильно получить имена файлов.
Что я могу сделать, чтобыполучить файлы?Применить регулярное выражение для ListDirectoryDetails (но это не хорошо для производительности)?Можно ли скачать все файлы, не зная их названия?Или я должен использовать другую библиотеку (в этом случае вы знаете некоторую бесплатную библиотеку для .NET 4.0)?
Спасибо