|
#1
|
|||
|
|||
FTP Search
hi all
Я уже наверно на 3ем форуме с этой просьбой отписываюсь, может тут поможите! Сканер ФТП с анонимном доступом на делфи в локалке, исходники с комментами это был бы лучший вариант, но всячиские хелпы связанные с опирированием фтп протоколом в Делфи были бы очень кстати Надеюсь на помощь ПИСИ: Всячиские поиски по форумам, гуглам и яндаксам не помогли, попрошу туда меня не отпровлять |
#2
|
||||
|
||||
можно чуть подробнее объяснить суть проекта? Что значит сканер?...
SysMan. C++Builder Internet/Intranet Programming. |
#3
|
|||
|
|||
Мне надо проверить диапазон IP адресов, например xxx.xxx.0.1 - xxx.xxx.100.255 на наличие ФТП с анонимным доступом. Так яснее?
|
#4
|
||||
|
||||
ОК. Вариант - возьми TIdTrivialFtp и работай с ним. Иначе - подумаю как лучше.
//анонимный доступ - в смысле? Не надо логиниться? SysMan. C++Builder Internet/Intranet Programming. |
#5
|
|||
|
|||
Вообщем вот мои начинания, начал я с малого, в этом коде должна просканится 75 подсеть моей сети на анонимной доступ ФТП, но прога не компилится, а вылетает причём не выдавая никаких ошибок, в чём может быть дело?
Код:
procedure TMainForm.ConnectButtonClick(Sender: TObject); var A: Integer; B: Integer; C: Integer; D: Integer; begin A:=192; B:=168; C:=75; for D:=StrToInt(GOEdit.Text) to StrToInt(ENDEdit.Text) do begin IdFTP1.Host:= IntToStr(A) + '.' + IntToStr(B) + '.' + IntToStr(C) + '.' + IntToStr(D); IdFTP1.Username:=UserIDEdit.Text; IdFTP1.Password:=PasswordEdit.Text; IdFTP1.Connect; if IdFTP1.Connected then Memo1.Lines.Add(IntToStr(A) + '.' + IntToStr(B) + '.' + IntToStr(C) + '.' + IntToStr(D) + 'открыт для анонимного доступа'); IdFTP1.Disconnect; end; end; end. P.S. За глупости в коде, если они присутствуют сильно не ругайте, это моя первая прога |
#6
|
||||
|
||||
У меня этот код откомпилировался и нормально работает. Единственное, я исправил IdFTP1.Username на IdFTP1.User (ну и диапазон адресов).
|
#7
|
|||
|
|||
Да, глюки Delphi пересобрал прогу, откомпилилась нормально, но при тестинге оказывается что она рушится при неудачном коннекте, как мне сделать чтоб она проверяла следующие IP адресса?
|
#8
|
||||
|
||||
ух эти VCL... Не знаю я как правильно раюотать с компонентами Indy, но КАК "рушиться" программа? Сообщения... События...
SysMan. C++Builder Internet/Intranet Programming. |
#9
|
|||
|
|||
Я неправильно вырезился, не рушится, а выдают ошибку:
Socket Error # 10060 Connection timed out |
#10
|
||||
|
||||
попробуй Connect() поместить в блок try{}
SysMan. C++Builder Internet/Intranet Programming. |
#11
|
|||
|
|||
Майняк если не сложно то поподробней как именно, мне советовали брать код в условии try except или finally это не помогло
|
#12
|
||||
|
||||
я не работал с Indy, по-этому не могу сказать почему так происходит, хотя, try должен спасать. !!!:сообщений при исп-ии блока try не будет только если программу запускать не из среды, это ты знаешь?
SysMan. C++Builder Internet/Intranet Programming. |
#13
|
|||
|
|||
Неа, это как?
|
#14
|
||||
|
||||
ну, это просто из проводника/файлового менеджера запускать сам ехе-файл.
Ведь когда ты запускаешь проект из среды - это идет отладка, так что как бы ты не защищался от сообщений об шоибках - они все-равно "вылезут". Правда, можно некоторые сообщения вообще отключить, например EConvertError, ERangeError и т.п. Но сетевые я не знаю как. Хотя вроде можно отключать и по коду ошибки. Но все-равно на этапе выполнения они будут высвечиваться. SysMan. C++Builder Internet/Intranet Programming. |
#15
|
||||
|
||||
шоибках==ошибках, соррри за очепятки
SysMan. C++Builder Internet/Intranet Programming. |