Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Авторизация на Vkontakte.Ru через indy


Автор: VtaMC 26.6.2009, 00:01
Доброго времени суток!
Не могу написать авторизацию vkontakte.ru.

Код

String list;
TStringList *s = new TStringList;
  s->Add("u=1");
  s->Add("success_url=");
  s->Add("fail_url=");
  s->Add("try_to_login=1");
  s->Add("email=" + Edit1->Text);
  s->Add("pass=" + Edit2->Text);
  IdHTTP1->Request->Host = "http://www.vkontakte.ru";
 IdHTTP1->Request->Accept = "text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1";
  IdHTTP1->Request->Password;
IdHTTP1->Request->Username;
IdHTTP1->Request->BasicAuthentication;
  IdHTTP1->Post("http://www.vkontakte.ru/login.php", s);
  IdHTTP1->Request->ProxyConnection = "Keep-Alive";
 IdHTTP1->Request->Referer = "http://www.vkontakte.ru/";
 IdHTTP1->Request->ContentType = "application/x-www-form-urlencoded";
  s->Free();
Memo1->Lines->Text = IdHTTP1->Get("http://www.vkontakte.ru/mail.php?id=11115350&18798");







Всё равно в конце концов страница авторизации...
Компонент IdCookieManager подключен. 

Заранее благодарен...

Автор: JackyFox 26.6.2009, 14:40
Вcuntакте сохраняет кукисы для домена  . vkontakte.ru (точка в начале). Возможно, в этом проблема.

Автор: VtaMC 26.6.2009, 18:26
(Простите за может глупые вопросы) А как посмотреть куда и какие куки сохраняет кукис мэнеджер?

Автор: verzer 3.7.2009, 19:35
локализовать проблему поможет http-сниффер:
если форма отправлена правильная, то на запрос
Код

IdHTTP1->Post("http://www.vkontakte.ru/login.php", s);

должен прийти ответ:
Код

good<рандомные_цифры>

если приходит такой ответ, то проблема, скорее всего, в куках, и тогда нужно посмотреть(в том же сниффере), что отправляем программа в запросе:
Код

IdHTTP1->Get("http://www.vkontakte.ru/mail.php?id=11115350&18798");

в заголовках запроса должны быть куки с логином (емаилом), хешем пароля и, возможно, чем-то ещё
если куки на второй запрос не отсылаются, то это, скорее всего, баг indy10, который уже исправлен - нужно пересобрать indy из http://indy.fulgan.com/ZIP/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)