Показать сообщение отдельно
  #1  
Старый 09.11.2010, 11:32
bulldog bulldog вне форума
Начинающий
 
Регистрация: 10.05.2010
Сообщения: 160
Репутация: 14
По умолчанию Проблема с ридеректом

Пытаюсь через потоки и listview авторизироваться на нескольких сайтах. Код вызова потока использую такой
Код:
var
  Form2: TForm2;
  ind:integer=-1;
  Pay: array [1..2000] of ***;//создание потока
  http_1: array [1..2000] of TIdHTTP;
  IdCookieManager1_Pay:  array [1..2000] of TIdCookieManager;

procedure TForm1.Button2Click(Sender: TObject);
var
w:integer;
i:integer;
s:integer;
  URL_Pay :string;
  Login :string;
  Pass :string;
  begin
  for i:=0 to Form1.Listview1.Items.count-1 do
  begin
  URL_Pay := 'http://' + Form1.Listview1.Items[i].SubItems[0];
  Login := Form1.Listview1.Items[i].SubItems[1];
  Pass := Form1.Listview1.Items[i].SubItems[2];
  begin
  ind:=-1;
  for w:=1 to Form1.Listview1.Items.count do
  begin
  Pay[w]:=***.Create(True);
  Pay[w].Resume;
  end;
  end;
  end;
  end;
код потока такой
Код:
function getnumber:integer;
begin
  if ind<>form1.Listview1.items.Count then
  inc(ind);
  result:=ind;
end;

procedure ***.Execute;
var
cw : integer; 
st:TStringStream;
s:TStringStream;
inf:TStringList;
begin
IdCookieManager1_Pay:= TIdCookieManager.Create(nil);
HTTP_1 := TIdHTTP.Create(nil);
  cw:=getnumber;
idHTTP_1.HandleRedirects := true;//возможность перенаправления
idHTTP_1.AllowCookies:=true;//разрешаем куки
s:=TStringStream.Create;
st:=TStringStream.Create;
 inf:=tstringlist.create;
  while cw<form1.Listview1.items.Count do
  begin
  ///
  begin
///
end
else
inf.Add('username=' +Login);
inf.Add('password=' + Pass);
idHTTP_1.Post('http://' + URL_Pay +'login.php',inf,s);
inf.Free;
end;
Но выводит ошибку указывает на raise EIdSocketError.CreateError(AErr, WSTranslateSocketErrorMsg(AErr));
в файле IdStackBSDBase.pas, подскажиет в чём ошибка?
Ответить с цитированием