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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2010, 18:06   #1
Азриель
 
Аватар для Азриель
 
Регистрация: 06.06.2009
Сообщений: 6
Сообщение Logout или как "разлогиниться" на сайте?

Доброго дня суток Вам =)
возникла такая проблема, изрыл не только этот форум, но и по ходу гугл от меня устал уже...
Логинюсь на необходимом мне сайте вот так (брал этот код на этом же форуме):

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
try
    Http := TIdHTTP.Create(Self);
    Data := TStringList.Create;
    CM := TidCookieManager.Create(Http);
    Http.AllowCookies := true;
    Http.CookieManager := CM;
    Http.HandleRedirects := true;

    Http.Request.Host:='Адрес Хоста';
    Http.Request.UserAgent:='Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.12) Gecko/20101026 MRA 5.7 (build 03757) Firefox/3.6.12 ( .NET CLR 3.5.30729)';
    Http.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
    Http.Request.AcceptLanguage:='ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3';
    Http.Request.AcceptCharSet:='windows-1251,utf-8;q=0.7,*;q=0.7';
    Http.Request.Referer:='Здесь тоже все верно';

    Data.Add('mode=login');
    Data.Add('user=' + Edit1.Text);
    Data.Add('password=' + Edit2.Text);
    StrPage := Http.Post('Отсюда смотрю полученный html код', Data);
    strpage1 := HTTP.post('и отсюда тоже',data);



  finally
Data.Free;
CM.Free;
Http.Free;
  end;

  if Pos('logout.do',StrPage) <> 0 then
    label3.Caption:='Доступ разрешен'
  else
    label3.Caption:='В доступе отказано';
    Memo1.Lines.Text := StrPage;
    Memo2.Lines.Text := StrPage1;
end;
все получаю, но при завершении работы приложения мне необходимо чтобы происходил logout с сайта.
посылаю примерно похожий запрос, ну меняя соответственно поля под выход.
в полях memo показывается, что все хорошо, я вышел, НО, заходя на сайт посредством браузера мне пишут что моя сессия еще активна, и фиг вы зайдете еще минут 15...
так вот, не подскажите, как осуществить "отрубание" от сайта? а то уже 3-й день голова болит...
Азриель вне форума Ответить с цитированием
Старый 18.11.2010, 18:37   #2
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

не когда не сталкивался, но во вторую кнопку поставь
Код:
    Http.free;
CM.free;
bulldog5293 вне форума Ответить с цитированием
Старый 18.11.2010, 18:44   #3
Азриель
 
Аватар для Азриель
 
Регистрация: 06.06.2009
Сообщений: 6
По умолчанию

Цитата:
Сообщение от bulldog5293 Посмотреть сообщение
не когда не сталкивался, но во вторую кнопку поставь
ставил, и убирал, и все вместе... не то видимо...
Азриель вне форума Ответить с цитированием
Старый 18.11.2010, 21:06   #4
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

Чёт как то сразу не додумался, посматри url какой там для выхода и впиши его во вторую кнопку, например http://Сайт.ru/logout.php
bulldog5293 вне форума Ответить с цитированием
Старый 18.11.2010, 22:16   #5
Voody
Форумчанин
 
Регистрация: 22.06.2009
Сообщений: 310
По умолчанию

Цитата:
Сообщение от Азриель Посмотреть сообщение
ставил, и убирал, и все вместе... не то видимо...
просто в таком случае сервер будет ждать истечения сессии пользователя (обычно минут 10-15), только потом происходит логаут
Voody вне форума Ответить с цитированием
Старый 19.11.2010, 07:31   #6
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

Цитата:
просто в таком случае сервер будет ждать истечения сессии пользователя (обычно минут 10-15), только потом происходит логаут
Да, но бывают случаи когда всё таки нужно перейти logout, что бы сервер был уверен что выход нужен, если сессию хранит у себя
bulldog5293 вне форума Ответить с цитированием
Старый 20.11.2010, 20:47   #7
Азриель
 
Аватар для Азриель
 
Регистрация: 06.06.2009
Сообщений: 6
Печаль

Цитата:
Сообщение от bulldog5293 Посмотреть сообщение
Чёт как то сразу не додумался, посматри url какой там для выхода и впиши его во вторую кнопку, например http://Сайт.ru/logout.php
Я как раз таки логаут и пишу - в итоге он выходит, показывает мне код, что произошел выход, но через браузер все равно показывает что не вышел...
Азриель вне форума Ответить с цитированием
Старый 20.11.2010, 22:02   #8
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

Значит у твоего браузера для этого куки нада почистить, потому что у программы и у него они раздные, попробуй сначала почистить, потом покалдоватьс урлом из твоей программы и вконце зайти через браузер, авторизации быть не должно
bulldog5293 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23
Напечатать текст, удалив из него все цифры и знаки "+" или "–". Язык С++. KaylasMKTY Помощь студентам 8 07.03.2010 21:35
Как програмно залогинитя на сайте "Mail.ru"? AquaKlaster Работа с сетью в Delphi 2 04.04.2009 23:21
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51