LINUX.ORG.RU — Русская информация об ОС Linux

[#]  
chapay

Авторизация вконтакте

Раньше кодик был такой и работал

$ch = curl_init();

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; (R1 1.5))");

curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');

curl_setopt($ch, CURLOPT_COOKIEJAR,  'cookies.txt');

curl_setopt($ch, CURLOPT_TIMEOUT, 30);



curl_setopt ($ch, CURLOPT_URL, 'http://vkontakte.ru/'); 



$body = curl_exec($ch);

sleep(2);



curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, "email=".$this->email."&pass=".$this->password);

curl_setopt ($ch, CURLOPT_URL, 'http://vkontakte.ru/login.php'); 

$body = curl_exec($ch);

	

$this->pageBody = curl_exec($ch);

sleep(2);



$arr = array();

preg_match_all("|<input\stype=\"hidden\"\sid=\"mid\"\svalue=\"(.+)\">|U", $this->pageBody, $arr);

$this->userID = $arr[1][0];



preg_match_all("|<input\stype=\'hidden\'\sid=\'activityhash\'\svalue=\'(.+)\'>|U", $this->pageBody, $arr);

$this->activityhash = $arr[1][0];

	

curl_close($ch);

Но теперь эта гадина делает с сотнями редеректов и вобще наводит на грусть меня :( есть рабочий скрипт может у кого нибудь?

chapay ** (24.07.2010 21:59:52)
Juick

[#]  
ostin

у этой гадины есть открытая документация.

ostin *** (24.07.2010 22:22:41)
[#] Ответ на: комментарий от ostin 24.07.2010 22:22:41  
chapay

не...там другой способ нужнон...именно через авторизацию...

chapay ** (24.07.2010 22:40:03)
[#]  
heisenberg

все правильно, говнокод рано или поздно должен переставать работать. парсить хтмл - неблагодарная задача, разрабы сайта не будут гарантировать сохранения структуры html и прочего. все-таки, еще раз внимательно посмотрите на open api.

heisenberg * (25.07.2010 10:22:03)
[#]  

> Авторизация вконтакте

Всё, доигрался, уронил вконтактик.

anonymous (25.07.2010 20:34:01)

О Сервере - Правила форума
http://www.linux.org.ru/

Rambler's Top100 Рейтинг@Mail.ru