Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: не работает авторизация CURL
 
 автор: bartik   (11.08.2010 в 18:59)   письмо автору
 
 

<?php
#http://login.vk.com/?act=login

$referer = "http://vkontakte.ru";
$url="http://vkontakte.ru/login.php";  

$s="email=логин&pass=пароль&a=a_login_attempt";// логин и пароль 
$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 7.01; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_POST,1); 
curl_setopt($ch, CURLOPT_POSTFIELDS,$s); 
curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookiefile.txt'); 
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookiefile.txt');
curl_setopt($ch, CURLOPT_REFERER, $referer);
$result = curl_exec($ch); 
curl_close($ch); 
print 
$result; 
?>

Скрипт в итоге не авторизируется, в чем может быть проблема, авторизация в контакте.

  Ответить  
 
 автор: Саня   (11.08.2010 в 21:01)   письмо автору
 
   для: bartik   (11.08.2010 в 18:59)
 

Авторизационный скрипт может проверять заголовки Accept-Language, Accept-Encoding и другие, вставляемые всеми нормальными браузерами.

  Ответить  
 
 автор: VITtek   (13.08.2010 в 09:10)   письмо автору
 
   для: bartik   (11.08.2010 в 18:59)
 

Вот как-то так ...


<?php 
$maile
="mail@gmail.com"; // пишем свой E-mail
$pass="pass"; // пишем свой Пароль

$ua = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.14) Gecko/2009082707 Firefox/3.0.14";
$ch = curl_init("http://vkontakte.ru/index.php");
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec ($ch);
curl_close($ch);

$ch = curl_init("http://login.vk.com/?vk=");
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_REFERER, "http://vkontakte.ru/index.php");
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec ($ch);
curl_close($ch);

$ch = curl_init("http://vkontakte.ru/login.php?op=slogin&nonenone=1");
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_REFERER, "http://login.vk.com/?vk=");
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_COOKIE, "remixchk=5");
curl_setopt($ch, CURLOPT_POSTFIELDS, "s=nonenone");
$output = curl_exec ($ch);
curl_close($ch);

$ch = curl_init("http://vkontakte.ru/login.php");
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_REFERER, "http://vkontakte.ru/index.php");
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_COOKIE, "remixchk=5; remixsid=nonenone");
curl_setopt($ch, CURLOPT_POSTFIELDS, "op=a_login_attempt");
$output = curl_exec ($ch);
curl_close($ch);

$ch = curl_init("http://login.vk.com/?act=login");
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_REFERER, "http://vkontakte.ru/index.php");
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "email=".$maile."&pass=".$pass."&expire=&vk=");
$output = curl_exec ($ch);
curl_close($ch);

preg_match_all ('|Set-Cookie: l=([^;]*); expires=([^;]*); path=/; domain=login.vk.com
Set-Cookie: p=([^;]*); expires=([^;]*); path=/;|isU'
,$output,$content_com);

preg_match_all ("|input type='hidden' name='s' value='([^']*)'|isU",$output,$content_com_1);

$ch = curl_init("http://vkontakte.ru/login.php");
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_REFERER, "http://login.vk.com/?act=login");
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_COOKIE, "remixchk=5; remixsid=nonenone");
curl_setopt($ch, CURLOPT_POSTFIELDS, "s=".$content_com_1[1][0]."&op=slogin&redirect=1&expire=0&to=");
$output = curl_exec ($ch);
curl_close($ch);

preg_match_all ('|Location: /id(\d*)|is',$output,$content_com_2);

$ch = curl_init("http://vkontakte.ru/id".$content_com_2[1][0]);
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_REFERER, "http://login.vk.com/?act=login");
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_COOKIE, "remixchk=5; remixsid=".$content_com_1[1][0]);
$output = curl_exec ($ch);
curl_close($ch);
print_r('<pre>');
print_r($output);
?> 

  Ответить  
 
 автор: bartik   (15.08.2010 в 01:15)   письмо автору
 
   для: VITtek   (13.08.2010 в 09:10)
 

Благодарю!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования