Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр 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($chCURLOPT_USERAGENT"Mozilla/4.0 (compatible; MSIE 7.01; Windows NT 5.0)");
curl_setopt($chCURLOPT_POST,1); 
curl_setopt($chCURLOPT_POSTFIELDS,$s); 
curl_setopt($chCURLOPT_HEADER1); 
curl_setopt($chCURLOPT_FOLLOWLOCATION1); 
curl_setopt($chCURLOPT_RETURNTRANSFER1); 
curl_setopt($chCURLOPT_COOKIEFILE'cookiefile.txt'); 
curl_setopt($chCURLOPT_COOKIEJAR'cookiefile.txt');
curl_setopt($chCURLOPT_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($chCURLOPT_USERAGENT$ua);
curl_setopt ($chCURLOPT_HEADER1);
curl_setopt($chCURLOPT_RETURNTRANSFER1);
$output curl_exec ($ch);
curl_close($ch);

$ch curl_init("http://login.vk.com/?vk=");
curl_setopt($chCURLOPT_USERAGENT$ua);
curl_setopt($chCURLOPT_REFERER"http://vkontakte.ru/index.php");
curl_setopt ($chCURLOPT_HEADER1);
curl_setopt($chCURLOPT_RETURNTRANSFER1);
$output curl_exec ($ch);
curl_close($ch);

$ch curl_init("http://vkontakte.ru/login.php?op=slogin&nonenone=1");
curl_setopt($chCURLOPT_USERAGENT$ua);
curl_setopt($chCURLOPT_REFERER"http://login.vk.com/?vk=");
curl_setopt ($chCURLOPT_HEADER1);
curl_setopt($chCURLOPT_RETURNTRANSFER1);
curl_setopt ($chCURLOPT_COOKIE"remixchk=5");
curl_setopt($chCURLOPT_POSTFIELDS"s=nonenone");
$output curl_exec ($ch);
curl_close($ch);

$ch curl_init("http://vkontakte.ru/login.php");
curl_setopt($chCURLOPT_USERAGENT$ua);
curl_setopt($chCURLOPT_REFERER"http://vkontakte.ru/index.php");
curl_setopt ($chCURLOPT_HEADER1);
curl_setopt($chCURLOPT_RETURNTRANSFER1);
curl_setopt ($chCURLOPT_COOKIE"remixchk=5; remixsid=nonenone");
curl_setopt($chCURLOPT_POSTFIELDS"op=a_login_attempt");
$output curl_exec ($ch);
curl_close($ch);

$ch curl_init("http://login.vk.com/?act=login");
curl_setopt($chCURLOPT_USERAGENT$ua);
curl_setopt($chCURLOPT_REFERER"http://vkontakte.ru/index.php");
curl_setopt ($chCURLOPT_HEADER1);
curl_setopt($chCURLOPT_RETURNTRANSFER1);
curl_setopt($chCURLOPT_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($chCURLOPT_USERAGENT$ua);
curl_setopt($chCURLOPT_REFERER"http://login.vk.com/?act=login");
curl_setopt ($chCURLOPT_HEADER1);
curl_setopt($chCURLOPT_RETURNTRANSFER1);
curl_setopt ($chCURLOPT_COOKIE"remixchk=5; remixsid=nonenone");
curl_setopt($chCURLOPT_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($chCURLOPT_USERAGENT$ua);
curl_setopt($chCURLOPT_REFERER"http://login.vk.com/?act=login");
curl_setopt ($chCURLOPT_HEADER1);
curl_setopt($chCURLOPT_RETURNTRANSFER1);
curl_setopt ($chCURLOPT_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 Яндекс.Метрика Яндекс цитирования