Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.08.2010, 22:14
Аватар для X-rem
X-rem X-rem вне форума
Начинающий
 
Регистрация: 06.04.2007
Адрес: Питер
Сообщения: 119
Репутация: 10
По умолчанию Авторизация с Cookies

Не передаются Cookies.
Использую Indy 10.5.5 (из /tags/Indy 10.5.5 rev 38xx)
(Авторизация в контакте)

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, sSkinManager, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient, IdHTTP, StdCtrls, ComCtrls, IdCookieManager,IdCookie, XPMan, IdURI;

type
  TEnterForm = class(TForm)
    IdHTTP1: TIdHTTP;
    IdCookieManager1: TIdCookieManager;
    Button1: TButton;
    Log: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  EnterForm: TEnterForm;
  login,pass,sid : String;
  pdata:TStringList;
  ur:TIdURI;

implementation

procedure TEnterForm.Button1Click(Sender: TObject);
begin
login:='***';
pass:='***';
IdHTTP1.AllowCookies:=True;
IdHTTP1.HandleRedirects:=True;
IdHTTP1.CookieManager:=IdCookieManager1;
sid:=IdHTTP1.Get('http://login.vk.com/?act=login&email='+login+'&pass='+pass+'&expire=&vk=');
sid:=copy(sid,pos('=''s'' value=''',sid)+17,51);
ur:=TIdURI.Create('vkontakte.ru');
ur.Host:='vkontakte.ru';
ur.Path:='/';
IdHTTP1.CookieManager.AddCookie('remixap=1;',ur);
IdHTTP1.CookieManager.AddCookie('remixlang=0;',ur);
IdHTTP1.CookieManager.AddCookie('remixchk=5;',ur); {По идее эту печеньку должны были установить}
IdHTTP1.CookieManager.AddCookie('remixsid='+sid+';',ur);
pdata:=TStringList.Create;
pdata.Add('s='+sid);
pdata.Add('op=slogin');
pdata.Add('redirect=1');
pdata.Add('expire=0');
pdata.Add('to=');
IdHTTP1.Post('http://vkontakte.ru/login.php', pdata);
feed:=IdHTTP1.Get('http://vkontakte.ru/feed.php');
log.Lines.Add(Feed);  // Тут получаем логин-форму
for i:=0 to EnterForm.IdHTTP1.CookieManager.CookieCollection.Count-1 do
log.Lines.Add(EnterForm.IdHTTP1.CookieManager.CookieCollection.Items[i].CookieText);
pdata.Free;
end;

end.

Получаем это:
Код:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<script>
 var t = setTimeout("location.href='http://vkontakte.ru/login.php?op=logout'", 7000);
</script>
</head>
<body>
 <div>
    <img src="http://vkontakte.ru/images/progress.gif">
 </div>
 <form id="f" name="f" method="post" action="http://vkontakte.ru/feed.php">
  <input type='hidden' name='pda' value='' />
 </form>
 <iframe name="mf" onload="try{if (this.contentWindow.location.href.indexOf('slogin') != -1) {clearTimeout(t); if (this.contentWindow.location.href.indexOf('nonenone') != -1) {location.href='http://vkontakte.ru/login.php?op=logout&to=ZmVlZC5waHA-'; return false;} document.f.submit();}} catch(e) {}" border="0" style="border:0px; background-color:#FFF" src="http://login.vk.com/?vk=" width="1" height="1"></iframe>
</body>
</html>
remixap=1; path=/; domain=.vkontakte.ru
remixlang=0; path=/; domain=.vkontakte.ru
remixchk=5; path=/; domain=.vkontakte.ru
remixsid=4800000000000000000000000000000000вырезанно8b89da79; path=/; expires=Fri, 12-Aug-2011 18:07:55 GMT; domain=.vkontakte.ru

Первое что не понятно, почему в домене перед самой строкой появляется точка.
И второе, где те Cookies которые дал сервер ?

Заранее спасибо за помощь
__________________
[ Ты не сможешь никому помочь до тех пор, пока не поможешь себе ]
Delphi 7 user
  • Indy 10.5.5
  • AbfEffects & Controls
  • LockBox
  • AlphaControls
  • Eagle CDK

ICQ: 570224849 / JID: x-rem@jabber.ru|no / Skype: ukc-rem / VK: ukc_rem.vk.com (ID: 27703738)

Последний раз редактировалось X-rem, 12.08.2010 в 22:21.
Ответить с цитированием
  #2  
Старый 15.08.2010, 16:11
Аватар для X-rem
X-rem X-rem вне форума
Начинающий
 
Регистрация: 06.04.2007
Адрес: Питер
Сообщения: 119
Репутация: 10
По умолчанию

Всё ещё нуждаюсь в помощи
__________________
[ Ты не сможешь никому помочь до тех пор, пока не поможешь себе ]
Delphi 7 user
  • Indy 10.5.5
  • AbfEffects & Controls
  • LockBox
  • AlphaControls
  • Eagle CDK

ICQ: 570224849 / JID: x-rem@jabber.ru|no / Skype: ukc-rem / VK: ukc_rem.vk.com (ID: 27703738)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:31.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter