 |
WinInet.. поиск файлов на FTP |

14.03.2007, 04:48
|
|
Познающий
Регистрация: 30.11.2006
Сообщений: 49
С нами:
10235140
Репутация:
28
|
|
WinInet.. поиск файлов на FTP
необходимо организовать поиск файлов на ФТП сервере (по всем вложенным папкам). есть функции FtpFindFirstFile InternetFindNextFile. проблемма слежующая:
с одного коннекта можно создать только один хендл поиска.. но при рекурсивном поиске, при каждом углублении в директорию необходимо начинать новай поиск. так что, создавать новый коннект??? или есть другой способ поиска файлов?
дизасмил аналогичные проги. в их импорте вининет вообще отсутствует.
|
|
|

14.03.2007, 18:10
|
|
Познающий
Регистрация: 30.11.2006
Сообщений: 49
С нами:
10235140
Репутация:
28
|
|
выкладываю сорцы проги для поиска файлов на ФТП. работает через винирет. создаёт кучу коннектов. мне это очень не нравится. хочу услышать ваше мнение. кому не лень - буду благодарен.
сканирует FAR сервер. об оптимизации не заботился.
http://file.raid.ru/get.php?f=8ec1101f71bf421a1c630d0c5a2ffc47
|
|
|

14.03.2007, 20:02
|
|
Новичок
Регистрация: 13.03.2007
Сообщений: 2
С нами:
10086052
Репутация:
0
|
|
Причём тут реверсинг ?
|
|
|

14.03.2007, 21:33
|
|
Познающий
Регистрация: 30.11.2006
Сообщений: 49
С нами:
10235140
Репутация:
28
|
|
извини, более подходищего раздела я не увидел.
|
|
|

15.03.2007, 05:27
|
|
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
С нами:
10552646
Репутация:
1292
|
|
Сообщение от gevara
с одного коннекта можно создать только один хендл поиска.. но при рекурсивном поиске, при каждом углублении в директорию необходимо начинать новай поиск.
Тебе нужно объединить эти функции в одну, FtpFindAllFiles, в которой будут образовываться 2 листа. В первом листе будут файлы, а во втором директории. Т.е. эта функция после заполнения буффера закроет handle поиска, и при обработке листа с директориями ты сново сможешь вызвать эту функцию. Единственная проблема, что при рекурсивном поиске, тебе прийдётся хранить все эти листы в памяти, но учитуя что это ftp, а не файловая система, это не будет большой особой проблемой.
Added:
дизасмил аналогичные проги. в их импорте вининет вообще отсутствует.
Если бы я писал прогу, я бы этой либой тоже не пользовался, не такой уж и сложный протокол, всего несколько комманд и ИМХО гораздо проще создать сокет и общятся с сервером на прямую, и код будет более портабильный. 
Последний раз редактировалось hidden; 15.03.2007 в 05:32..
|
|
|

15.03.2007, 12:42
|
|
Познающий
Регистрация: 30.11.2006
Сообщений: 49
С нами:
10235140
Репутация:
28
|
|
hidden
пасиб. я с тобой согласен. но проблемма в том, что это бот.... а это прежде всего ограничение на размер кода. то есть вручную организовывать ФТП клиент, мне кажется, большая роскошь для него.
если работать со списком директорий - как ты предлагаешь, то действительно ВинИнет тут на*** не нужен, т.к. комманда ls выдаёт все файлы внутри директории и работать через сокеты тут даже проще, чем через вининет.
Последний раз редактировалось gevara; 15.03.2007 в 12:48..
|
|
|
|
 |
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
r57shell! NEW!
|
Rebz |
Болталка |
9 |
28.03.2007 18:45 |
|
Пароль в CPanel
|
ufo44 |
Уязвимости |
11 |
07.12.2006 00:33 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|