[SIZE=2][/SIZE][SIZE=2][COLOR=#008080]FtpWebRequest[/COLOR][/SIZE][SIZE=2] request = ([/SIZE][SIZE=2][COLOR=#008080]FtpWebRequest[/COLOR][/SIZE][SIZE=2])[/SIZE][SIZE=2][COLOR=#008080]FtpWebRequest[/COLOR][/SIZE][SIZE=2].Create(ftpUrl);
request.Method = [/SIZE][SIZE=2][COLOR=#008080]WebRequestMethods[/COLOR][/SIZE][SIZE=2].[/SIZE][SIZE=2][COLOR=#008080]Ftp[/COLOR][/SIZE][SIZE=2].ListDirectory;
request.UsePassive = [/SIZE][SIZE=2][COLOR=#0000ff]false[/COLOR][/SIZE][SIZE=2];
[/SIZE][SIZE=2][COLOR=#008080]NetworkCredential[/COLOR][/SIZE][SIZE=2] mycred = [/SIZE][SIZE=2][COLOR=#0000ff]new[/COLOR][/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#008080]NetworkCredential[/COLOR][/SIZE][SIZE=2]([/SIZE][SIZE=2][COLOR=#800000]""[/COLOR][/SIZE][SIZE=2], [/SIZE][SIZE=2][COLOR=#800000]""[/COLOR][/SIZE][SIZE=2]);
request.Credentials = mycred;
[/SIZE][SIZE=2][COLOR=#008080]FtpWebResponse[/COLOR][/SIZE][SIZE=2] response;
[/SIZE][SIZE=2]response = ([/SIZE][SIZE=2][COLOR=#008080]FtpWebResponse[/COLOR][/SIZE][SIZE=2]) request.GetResponse();
// ...[/SIZE]
[SIZE=2]
[/SIZE]
Работа с FTP
При работе с FTP столкнулся с рядом проблем.
Предположим такую задачу: надо получить дерево каталогов/файлов по заданому адресу. Решаю эту задачу следующим способом:
Код:
Этот код получает список файлов/директорий.
Теперь вопросы:
1. Как мне определить является ли полученный результат файлом или директорией ? Если ответ - используй ListDirectoryDetail, то можно ли надеятся что результат на всеx ftp'хах будет одинаковый?
2. Для некоторых запросов (например ...Test[FONT=Courier New]/{####…}/someFile.txt[/FONT]), результат будет сам файл плюс перед ним название директории
3. Если работаем через прокси, результат получаем в HTML
Есть идеи?
Определить является урл директорией или файлом?
Для каталогов, он кажется не определен....
Цитата: hardcase
А если у ФТП спросить размер объекта в урле?
Для каталогов, он кажется не определен....
Для каталогов, он кажется не определен....
Так и делал :) Но для некоторых файлови это обламывается. Но эти все проблемы были при использовании FtpWebRequest.
Я решил сделать все почеловечески, черезсокеты. Уже в помощи не нуждаюсь. Всем спасибо