15.10.2009 16:44Как авторизоваться «ВКонтакте».

Для авторизации «Вконтакте» необходимо отправить POST запрос с логином, паролем и двумя служебными параметрами expire и vk скрипту http://login.vk.com/?act=login, после этого из ответа выдернуть параметр value и отправить POST запрос с этим параметром скрипту http://vkontakte.ru/login.php?op=slogin&redirect=1 и получить cookie.
Реализация на php с использованием libcurl выглядит примерно так:


$email="name@domain";
$passwd="password";
$ch=curl_init();
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,"http://login.vk.com/?act=login");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "email=".$email."&pass=".$passwd."&expire=&vk=");
$buf=curl_exec($ch);
curl_close($ch);
if (strpos($buf,"value")==FALSE)
{
echo($email." is not a valid account. Maybe banned or incorrect password");
continue;
}
preg_match('/value=\'(\w+)\'/',$buf,$s);
$s=$s[1];
$ch=curl_init();
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,$host."http://vkontakte.ru/login.php?op=slogin&redirect=1");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "s=".$s);
$buf=curl_exec($ch);
curl_close($ch);

Обработки капчи тут нет, потому что при обращении к скрипту http://login.vk.com/?act=login она не появляется. Появляется она при обращении к http://vkontakte.ru/login.php, но к данному скрипту обращение с недавних пор не требуется.

Популярность: 100%

Похожие записи:

  1. Публикация поста в WordPress с помощью XMLRPC с поддержкой All in One SEO Pack
  2. Bloggers.
  3. Vkontakte API.
  4. 101.
  5. Хакеры нашего времени.

Комментарии 2 | Теги: , , ,

Реклама:

Комментарии:

  1. Егор комментирует:
    19 Янв 2010 - 8:38

    а для чего? для написания клиентов к этому говноресурсу? :)
    или побрутить? но там терь каптча.

  2. Хоть для чего. Например для спама. А для клиентов есть userapi.
    Скрипт, кстати, уже, наверное, не актуален..

Оставьте комментарий

Немного о себе




Комментарий

Я не робот