Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Цикл


Автор: Terikon 16.4.2009, 21:42
нужно зайти на сайт под всеми логинами в файле login.txt 

есть код например

Код

begin
Data:=TStringList.Create;
Data.Add('username=login1');
Data.Add('password=123');
Memo2.Text:=idhttp1.Post('http://www.sait.ru/signup.php',data);


После успешного входа на сайт нужно подставлять новый логин и пароль из файла login.txt
т.е. сюда

Код

Data.Add('username=login1');
Data.Add('password=123');


Содержание файла login.txt
login1;123
login2;123
login3;123

Автор: Matematik 16.4.2009, 22:32
Хм. Вопрос в чём?

Автор: hawkins 16.4.2009, 22:45
если перебрать логины с паролями из текстовика то так:

Код

procedure LoginCycle;
var
 i: integer;
 Data: TStringList;
 str: string;
 pos_: integer;
 login, pass: string;
begin
 Data:=TStringList.Create;
 try
 Data.LoadFromFile('login.txt');
 for i:=0 to Data.Count-1 do
 begin
  str:=Data[i];
  pos_:=pos(';', str);
  login:=copy(str, 1,  pos_-1);
  pass:=copy(str, pos_+1, length(str) - pos_);
  ...
  // здесь подставляешь куда нужно
 end;
 finally
   Data.Free;
 end;
end;




Автор: Terikon 16.4.2009, 23:15
...
  // здесь подставляешь куда нужно

Data:=TStringList.Create;
Data.Add('username='+login);
Data.Add('password='+pass);
Memo2.Text:=idhttp1.Post('http://www.sait.ru/signup.php',data);

Прога просто зависает, что я не так делаю? смотрю сниффером ничиво не отправляется.

Автор: hawkins 17.4.2009, 08:41
для перебора и для отправки разные списки нужны (тут уж можно было и догадаться). Переменную для моего списка надо другую задать:

Код

procedure LoginCycle;
var
 i: integer;
 SL, Data: TStringList;
 str: string;
 pos_: integer;
 login, pass: string;
begin
 SL:=TStringList.Create;
 Data:=TStringList.Create;
 try
 SL.LoadFromFile('login.txt');
 for i:=0 to SL.Count-1 do
 begin
  str:=SL[i];
  pos_:=pos(';', str);
  login:=copy(str, 1,  pos_-1);
  pass:=copy(str, pos_+1, length(str) - pos_);
  
  // здесь подставляешь куда нужно
  Data.Clear;
  Data.Add('username='+login);
  Data.Add('password='+pass);
  Memo.Text:=idhttp1.Post('http://www.sait.ru/signup.php',data);  
 end;
 finally
   SL.Free;
   Data.Free;
 end;
end;



 при каждом проходе в цикле Data надо очищать, чтоб только одну пару отправлять.  
 

Автор: Terikon 17.4.2009, 19:17
Всё работает спасибо

Цитата(hawkins @  17.4.2009,  08:41 Найти цитируемый пост)
для перебора и для отправки разные списки нужны (тут уж можно было и догадаться). Переменную для моего списка надо другую задать:


В проге я сразу поменял, на форуме забыл просто отредактировать, А прога у меня неработала потому что фаервол отрубить забыл

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)