Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2012, 18:25   #1
ZverBlin
Пользователь
 
Регистрация: 08.08.2011
Сообщений: 10
По умолчанию Авторизация на сайте (проблема с Cookie)

Всем привет
Столкнулся с проблемой сохранения кукисов. То есть после успешной авторизации, при попытке перейти\загрузить страницу, получается так, что я это делаю как не авторизированный пользователь.
Прошу помочь и подсказать в чем может быть проблема ?
Код:
begin
Http := TIdHTTP.Create(Self);
Data := TStringList.Create;
CM := TidCookieManager.Create(Http);
Http.AllowCookies := true;
Http.CookieManager := CM;
Http.HandleRedirects := true;
Http.Request.Host:='www.zzima.com';
Http.Request.ContentType:='application/x-www-form-urlencoded' ;
Http.Request.UserAgent:='Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; MRSPUTNIK 2, 4, 0, 270; MRA 5.8 (build 4133); SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; Creative AutoUpdate v1.41.02)';
Http.Request.Accept:='image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, */*';
Http.Request.AcceptLanguage:='ru-RU';
Http.Request.AcceptCharSet:='windows-1251,utf-8;q=0.7,*;q=0.7';
Http.Request.Referer:='http://www.zzima.com/';
Data.Add('data[email]='+Edit3.Text);
Data.Add('data[password]='+Edit4.Text);
Data.Add('remember=on');
StrPage := Http.Post('http://www.zzima.com/ajax.php?page=account&action=login', Data);
if StrPage[11] = 't' then
StatusBar1.SimpleText:='Авторизовались.'
else
StatusBar1.SimpleText:='Авторизация провалена.';
memo1.text:= http.Get('http://www.zzima.com/gameMembers82&ni=0&pg=0');
ZverBlin вне форума Ответить с цитированием
Старый 25.03.2012, 18:56   #2
ZverBlin
Пользователь
 
Регистрация: 08.08.2011
Сообщений: 10
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
 var
 Data : TStringList;
 StrPage, ssilka:string;
 RegExp: TRegExpr;
 http: tidhttp;
 CM:  TidCookieManager;
  i : integer;
begin
Http := TIdHTTP.Create(Self);
Data := TStringList.Create;
CM := TidCookieManager.Create(Http);
Http.AllowCookies := true;
Http.CookieManager := CM;
Http.HandleRedirects := true;
Http.Request.Host:='www.zzima.com';
Http.Request.ContentType:='application/x-www-form-urlencoded' ;
Http.Request.UserAgent:='Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; MRSPUTNIK 2, 4, 0, 270; MRA 5.8 (build 4133); SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; Creative AutoUpdate v1.41.02)';
Http.Request.Accept:='image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, */*';
Http.Request.AcceptLanguage:='ru-RU';
Http.Request.AcceptCharSet:='windows-1251,utf-8;q=0.7,*;q=0.7';
Http.Request.Referer:='http://www.zzima.com/';
Data.Add('data[email]='+Edit1.Text);
Data.Add('data[password]='+Edit2.Text);
Data.Add('remember=on');
begin
StrPage := idHttp1.Post('http://www.zzima.com/ajax.php?page=account&action=login', Data);
for i := 0 to Http.CookieManager.CookieCollection.Count - 1 do
  StrPage := StrPage + CM.CookieCollection.Items[i].CookieText + #13#10;
if StrPage[11] = 't' then
begin
StatusBar1.SimpleText:='Àâòîðèçîâàëèñü.';
memo1.text:=Utf8ToAnsi (http.Get('http://www.zzima.com/'));
RegExp := TRegExpr.Create;
RegExp.Expression := '(var username =)([^;]+)|(var userhash =)([^;]+)';
if RegExp.Exec(memo1.text) then
repeat
 Memo2.Lines.Add(trim(RegExp.Match[2]+RegExp.Match[4]));
until not RegExp.ExecNext;
RegExp.Free;
end
else
StatusBar1.SimpleText:='Àâòîðèçàöèÿ ïðîâàëåíà.';
end;
Memo3.Lines.Text := StrPage;
end;
Я авторизовываюсь на сайте
Получаю куки в memo3
Но потом когда загружаю страницу сайта в memo1, эта страница не авторизованного пользователя
Что делать?

Последний раз редактировалось ZverBlin; 25.03.2012 в 18:58.
ZverBlin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Авторизация пользователя на сайте с использованием Cookie Olegzxc PHP 6 02.08.2011 08:32
Авторизация на сайте KpacaB4uk Работа с сетью в Delphi 5 18.02.2011 10:11
Авторизация на сайте Areostar Общие вопросы .NET 3 03.11.2010 17:22
Авторизация на сайте gusluk Работа с сетью в Delphi 3 20.11.2008 14:40