ребят почему-то при коннекте на страницу дает ошибку 302 found , да и ладно комлимирую все норм, НО после 1 удачной авторизации программа стопается.
HTTP.HandleRedirects:=true не помогает, идет все в неудачную авторизацию ^____^ мучуюся уже целый день помогите.
Код:
var CurAcc:integer;
data:Tstringlist;
HTTP: TIdHTTP;
proxyacc: Tstringlist;
begin
while Work do
begin
proxyacc := Tstringlist.Create;
proxyacc.LoadFromFile('proxy.txt');
CS.Enter;
Inc(Acc);
if Acc<Accounts.Count then CurAcc:=Acc else Work:=false;
CS.Leave;
if Work then
begin
CS.Enter;
if (accpr=proxyacc.Count-1) then
begin
accpr:=-1;
end;
CS.Leave;
FProxy:=Copy(proxyacc[accpr] , 1,Pos(':',proxyacc[accpr])-1);
FPort:=Copy(proxyacc[accpr],Pos(':',proxyacc[accpr])+1,Length(proxyacc[accpr]));
FAcc:= Copy(Accounts[CurAcc],1,Pos(';',Accounts[CurAcc])-1);
FPas:= Copy(Accounts[CurAcc],Pos(';',Accounts[CurAcc])+1,Length(Accounts[CurAcc]));
data:=Tstringlist.create;
data.Add('login='+FAcc);
data.Add('passw='+FPas);
data.Add('dologin=login');
HTTP:=TIdHTTP.create;
HTTP.HandleRedirects:=false;
try
HTTP.Post('страница', data);
Rez:=-1;
except
if Pos('Set-Cookie: last_session=', HTTP.Response.RawHeaders.Text)<>0 then
Rez:=1
else
Rez:=0;
end;
HTTP.Free;
data.Free;
end;
end;
302 Found — запрошенный документ временно доступен по другому URI, указанному в заголовке в поле Location. Этот код может быть использован, например, при управляемом сервером согласовании содержимого. Некоторые клиенты некорректно ведут себя при обработке данного кода. Введено в HTTP/1.0.
P.S. [Ссылки могут видеть только зарегистрированные пользователи. ]
P.S.S. Странно, тут HandleRedirects как раз помогает.
перед отправкой данных на сылку по пост запросу т.е после
data.add('blabla=');
http.HandleRedirects:=true;
и тогда у меня все в бад идет . . .
а если false тогда все окей, НО как встречается бад программа останавливается
Может надо куки присоединить? ребят не подскажете как
Последний раз редактировалось pavel!; 12.04.2012 в 21:25.