PDA

Просмотр полной версии : Delphi авторизация на IPB 2.1.7


Sams
06.08.2009, 22:23
Ребята, такой сабж, немогу авторизироваться на форуме IPB 2.1.7
Отсылаю POST запрос через Indy IdHttp, принятые данные записываю в Memo, которые потом просматриваю в браузере, но пишет, что я не авторизирован :(
Вот часть кода
procedure TForm1.Button1Click(Sender: TObject);
begin
idh1.Request.Referer:='http://a/index.php?act=Login&CODE=00';
idh1.Request.Accept:='text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5';
idh1.Post('http://a/index.php?act=Login&CODE=01', data, a1);
idh1.Request.Referer:='http://a/index.php?act=Login&CODE=01';
memo1.Text:=idh1.Get('http://a/index.php?act=idx');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
data:=TStringList.Create;
a1:=TStringStream.Create('');
data.Add('referer=http%3A%2F%2Fa%2Findex.php%3F');
data.Add('UserName=qqqq');
data.Add('PassWord=1234');
end;

Помогите :(

Kaimi
06.08.2009, 22:40
А кукисы полученные от форума после авторизации ты обрабатываешь как то?

ZdezBilYa
06.08.2009, 22:40
Может подключить IdCookieManager?

Sams
06.08.2009, 22:43
Хм, кукизы...вот что я упустил...можете написать порядок действий приблизительный, в код я сам превращу? :) Буду очень благодарен.

ZdezBilYa
06.08.2009, 22:46
Помещает на форму компонент TIdCookieManager
Добавляем:
IdCookieManager1:= TidCookieManager.Create(Http);
idh1 := TIdHTTP.Create(Self);
idh1.AllowCookies := true;
idh1.CookieManager := IdCookieManager1;

Sams
07.08.2009, 00:07
Спасибо вам большое, все получилось.