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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2012, 03:58   #1
waytoreason
Новичок
Джуниор
 
Регистрация: 14.05.2012
Сообщений: 1
По умолчанию Авторизация в Desktop-приложении Вконтакте без использования браузера.

Доброго времени суток. Заинтересовался программированием для соц. сетей и программированием вообще. Хочу создать Desktop приложение которое работало бы с VK API и позволяло отправлять сообщения, обновлять статусы, загружать картинки и музыку. Начал искать информацию по поводу авторизации пользователя ВКонтакте, нашел несколько статей, некоторые были устаревшими, помогла вот эта статья: "Авторизация ВКонтакте".
Немного разобрался с кодом, прикрутил сохранение пароля, отображение имени и ID, проверку на правильность ввода логина и пароля.
Далее создал свое приложение ВКонтакте, прикрутил к форме WebBrowser, получил доступ к VK API. Но хотелось бы получать доступ к VK API не используя браузер, а просто вводя логин и пароль. Нашел статью на ХабраХабр, где описывается это, но там написано на Ruby(. В теории понимаю, как это работает: отправляются данные (логин, пароль, ID приложения) на стандартную авторизацию пользователя, авторизации не происходит, но куки получаем, потом получаем форму авторизации приложения, ищем хэш, и получив его у нас есть все данные для авторизации, но написать рабочий код не получаеться. Не знаю как правильно обрабатывать куки, получить форму авторизации и найти в ней хэш. С GET запросами и перенаправлениями вроде бы разобрался. Буду благодарен если кто-то напишет пару строк, как это делается, или сбросит рабочий исходник.

Вот мой код для авторизации Вконтакте:
Мой исходник.rar
waytoreason вне форума Ответить с цитированием
Старый 15.05.2012, 09:56   #2
Mifody
Форумчанин
 
Регистрация: 12.02.2009
Сообщений: 215
По умолчанию

Для начала надо определится что и как Вы собираетесь использовать
1. VK API (используется обычно для написания честных клиентов) - тогда идем на http://vk.com/developers.php и читаем как авторизоваться, точнее получить ключ
2. имитировать работу пользователя (используется для написания спамеров и прочей лабуды) - собственно что пытаетесь сделать.

насчет примера
строку:
Код:
http.CookieManager.AddCookie('remixchk='+RemixCHK+'; remixsid='+RemixSID,'http://vk.com');
заменить на:
Код:
      HTTP.CookieManager.CookieCollection.AddClientCookies('remixchk=' + RemixCHK);
      HTTP.CookieManager.CookieCollection.AddClientCookies('remixsid=' + RemixSID);
по крайней мене у меня так прошла авторизация, и прожка сказала и снифер это подтвердил
Помог с вопросом - тыркаем в весы, Вам не сложно, а мне приятно
Mifody вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обычная авторизация или авторизация на уровне браузера? calugin Безопасность, Шифрование 0 13.01.2011 00:34
Регистрация/авторизация пользователей при помощи PHP, без использования MySQL. Web-Gangsta PHP 30 03.05.2009 18:32
Запуск браузера в приложении MAcK Общие вопросы .NET 7 07.04.2009 06:07
законность использования icq клиента в своем приложении tetris Свободное общение 14 18.04.2008 12:46