PDA

Просмотр полной версии : Авторизация вконтакте


Isis
16.12.2009, 09:51
Чего-то перестала у меня работать пожизненная авторизация вконтакте..
Куки постоянно пишутся заново, а не читаются просто..
А-А-А-А-А
Сам естественно уже много чего перепробовал...

geforse
16.12.2009, 11:40
Вроде всё нормально...вот вечный онлайн (1 раз авторизировается и работает через cookie (см. лог))


<?php
set_time_limit(0);
//-----------------//
$email = ''; // E-mail
$pass = ''; // Пароль
$log = '1'; // 1 - Если нужно писать log-файл
//-----------------//

function post($url,$post,$refer)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_REFERER, $refer);
curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook");
curl_setopt($ch, CURLOPT_COOKIEFILE, "./cook");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
return $result;
}

$result = post('http://vkontakte.ru/',null,'http://vkontakte.ru/');

/* Если куки "умерли", то авторизовываемся... */
if (preg_match('#l">E(.*?)<#i',$result,$avtoriz))
{
$result = post('http://vkontakte.ru/login.php','act=login&success_url=&fail_url=&try_to_login=1&to=&vk=&email='.$email.'&pass='.$pass,'http://vkontakte.ru/login.php');

/* Пишем об этом */
if ($log == "1")
{
$fh = fopen("log.txt", "a+");
$success - fwrite($fh, "Авторизация [".date("H:i")."]\r\n");
fclose($fh);
}

}
else
{
if ($log == "1")
{
/* ...иначе пишем, что авторизация не потребовалась */
$fh = fopen("log.txt", "a+");
$success - fwrite($fh, "Работа через cookie [".date("H:i")."]\r\n");
fclose($fh);
}
}


/* geforse.name */
?>

Isis
16.12.2009, 21:35
На вплеере стоит скрипт
function goLogin($url, $post, $vk)
{
global $emailvk;

if($ch = curl_init($url))
{
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_REFERER, 'http://login.vk.com');
if($vk > 0) curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__).'/c/'.$emailvk);
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__).'/c/'.$emailvk);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$content = curl_exec($ch);
$content = mb_convert_encoding($content, 'utf-8', 'windows-1251');
return array($content);
}
else
{
return array('notconnect');
}
}

function searchContent($q, $page)
{
$operation = $size = null;
$a = goLogin('http://vkontakte.ru/gsearch.php', 'q='.urlencode($q).'&section=audio&offset='.$page, 0);
$result = $a[0];
preg_match_all('#<img class="playimg" onclick="return operate\((.*?)\).*?id="#', $result, $operation);
preg_match_all('#<div class="duration">(.*?)</div>#', $result, $duration);
return array($result, $operation, $size);
}

$pagek = (isset($page) && $page > 0) ? (($page * 100) - 100) : '0';
$pages = '';
$getArray = searchContent($q, $pagek);

if(preg_match('#location.href=\'http:\/\/vkontakte.ru\/login.php\?op=logout\'#i', $getArray[0], $lol))
{
$a = goLogin('http://vkontakte.ru/login.php','act=login&success_url=&fail_url=&try_to_login=1&to=&vk=&email='.$emailvk.'&pass='.$passvk, 1);
$getArray = searchContent($q, $pagek);
}

if(preg_match('#location.href=\'http:\/\/vkontakte.ru\/login.php\?op=logout\'#i', $getArray[0], $lol))
{
define('ERR',true);
$result = 'Что-то не так, попробуйте обновить страницу';
}
?>
Ну короче всегда пытается вывести $result = 'Что-то не так, попробуйте обновить страницу'; ну и естественно перезаписывает куки...
Не ясно почему он со старыми не может залогиниться...

НЕ ПОЙМУ!111111

оlbaneс
16.12.2009, 21:47
изис, тут https://forum.antichat.ru/thread158865.html какие то скрипты для постоянного онлайна вконтакте. может нароешь чего для себя.

Isis
16.12.2009, 22:18
Там тоже самое

Gifts
16.12.2009, 22:46
Isis Банально - а логин/пароль то правильный? Приведенный код у меня успешно авторизуется и даже что-то ищет. Плюс проверьте права на файл куков

Isis
17.12.2009, 20:18
Весь список логинов паролей правильный, проверял вручную