|
#1
|
|||
|
|||
IdHTTP куки \help
ужно написать программу каторая будет авторизовываться на форуме
Но я незнаю как работать с куками... Вот что я написал,ноничего не работает...В ответ получаю страницу Ввода логина и пароля.. Помогите плз Код:
var text:string; CookMan: TidCookieManager; begin CookMan:=TidCookieManager.Create(IdHTTP1); IdHTTP1.CookieManager := CookMan; IdHTTP1.AllowCookies := True; otpr:= TStringList.Create; otpr.Add('referer='); otpr.Add('UserName=тут логин'); otpr.Add('PassWord=тут пароль'); otpr.Add('CookieDate=1'); otpr.Add('submit=%C2%EE%E9%F2%E'); memo1.Text:=IdHTTP1.Post('http://forum.sources.ru/index.php?&act=Login&CODE=00', otpr); end; Код:
var text,text1:string; all:integer; CookMan: TidCookieManager; begin CookMan:=TidCookieManager.Create(IdHTTP1); IdHTTP1.CookieManager := CookMan; IdHTTP1.AllowCookies := True; memo1.Text:= IdHTTP1.Get('http://forum.sources.ru/'); text:=copy(memo1.text,pos ('Login&',memo1.text)-41,32); // поиск S=.... memo1.Text:= IdHTTP1.Get('http://forum.sources.ru/index.php?s='+text+'&act=Login&CODE=00'); text:=copy(memo1.text,pos ('Login&',memo1.text)-41,32); // поиск S=.... otpr:= TStringList.Create; otpr.Add('referer='); otpr.Add('UserName=тут логин'); otpr.Add('PassWord=тут пароль'); otpr.Add('CookieDate=1'); otpr.Add('submit=%C2%EE%E9%F2%E'); memo1.Text:=IdHTTP1.Post('http://forum.sources.ru/index.php?s='+text+'&act=Login&CODE=00', otpr); |
#2
|
||||
|
||||
Цитата:
А точно логин и пароль передаются методом Post? может всё таки get --------------------------------------------- Программирование - не профессия, а стиль жизни |
#3
|
|||
|
|||
dd
помойму Post...
ВОт пакет каторый передаёться Код:
POST http://forum.sources.ru/index.php? HTTP/1.0 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */* Referer: http://forum.sources.ru/index.php? Accept-Language: ru Content-Type: application/x-www-form-urlencoded Proxy-Connection: Keep-Alive User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.8 (build 01709); .NET CLR 1.1.4322) Host: forum.sources.ru Content-Length: 56 Pragma: no-cache Cookie: member_id=0; pass_hash=0; anonlogin=-1; session_id=21ac18f44182035110111172d10dea06 act=Login&CODE=01&CookieDate=1&UserName=***&PassWord=*** GET http://forum.sources.ru/index.php? HTTP/1.0 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */* Referer: http://forum.sources.ru/index.php? Accept-Language: ru Proxy-Connection: Keep-Alive User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.8 (build 01709); .NET CLR 1.1.4322) Host: forum.sources.ru Pragma: no-cache Cookie: member_id=62537; pass_hash=9564ab8f27103567f1e135024261130e; anonlogin=-1; session_id=21ac18f44182035110111172d10dea06 |
#4
|
|||
|
|||
IdHTTP1 соеденил с IdCookieManager1
idHTTP1.HandleRedirects := true idHTTP1.AllowCookies:=true Вот что у меня получилось: [CODE=pas]var i:integer; text:string; otpr: TStringList; begin IdCookieManager1.cookieCollection.clear; memo1.Text:= IdHTTP1.Get('http://forum.sources.ru'); otpr:= TStringList.Create; otpr.Add('act=Login'); otpr.Add('CODE=01'); otpr.Add('CookieDate=1'); otpr.Add('UserName=8ka'); otpr.Add('PassWord=*****'); //otpr.Add('submit=ОК'); memo1.Text:=IdHTTP1.Post('http://forum.sources.ru/index.php?', otpr); for i:=0 to IdCookieManager1.cookieCollection.count-1 do memo2.lines.add(IdCookieManager1.cookieCollection. items[i].cookieText); //idHTTP1.disconnect; end;[/code] Вопрос: 1)В мемо2 вообще не появляються куки,почему? 2)когда пароль вписываю НЕ правильно - получаю ответ: "Пароль не правельный" А когда пароль подставляю правильный то в ответ получаю пустыю страницу... почему я получаю пустую страницу? Кто-нибудь может помочь? пс.. ПРобовал на другом форуме(phpBB) все работает...но на forum.sources.ru (IPB) ничего не работает..почему*? |