ANTICHAT Forum
HOME FORUMS MEMBERS RECENT POSTS LOG IN  
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Вопрос по скрипт ВК
  #1  
Старый 13.03.2010, 23:24
IgrikX
Познающий
Регистрация: 13.08.2009
Сообщений: 92
С нами: 8812922

Репутация: 1
По умолчанию Вопрос по скрипт ВК

Написал функцию на php авторизации ВК. Потом написал функцию перехода на другую странцу.
Первая функцию принимает параметры логин и пароль. Вторая поисковое слово. Почему при переходе во вторую функцию авторизация теряется? Вроде кукисы считываю.
PHP код:
function vk_login($Email,$Password)
{
$ch = curl_init();
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,120);
curl_setopt($ch,CURLOPT_TIMEOUT, 90);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch,CURLOPT_ENCODING,'gzip,deflate');
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0");
curl_setopt($ch, CURLOPT_COOKIEJAR, 'C:/WebServers/home/test1.ru/www/cookies.txt');
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
//GET vkontakte.ru/login.php
curl_setopt ($ch, CURLOPT_URL, 'http://vkontakte.ru/login.php');
$body = curl_exec($ch);
//POST vkontakte.ru/login.php
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "op=a_login_attempt");
curl_setopt ($ch, CURLOPT_URL, 'http://vkontakte.ru/login.php');
$body = curl_exec($ch);
//POST login.vk.com/
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "act=login&success_url=&fail_url=&try_to_login=1&to=&vk=&email=".$Email."&pass=".$Password."&expire=");
curl_setopt ($ch, CURLOPT_URL, 'http://login.vk.com/');
$body = curl_exec($ch); 
curl_close($ch);  
}

//---- Функция поиска музыки Вконтакте
function search_music($text)// параметр - поисковая фраза
{
$ch = curl_init($ch);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'C:/WebServers/home/test1.ru/www/cookies.txt');
// переходим на страницу поиска музыки и извлекаем hash и какие-то другие значения
curl_setopt($ch, CURLOPT_URL, 'http://vkontakte.ru/gsearch.php?section=audio&q='.$text);
$body = curl_exec($ch);
curl_close($ch); 
preg_match_all("#aid:(\d+),oid:(\d+),hash:'(\w+)'}\);return false;\">#",$body,$arr);//регулярка извлекает параметры песни
return $arr;
} 
 
Ответить с цитированием

  #2  
Старый 14.03.2010, 04:20
b3
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
С нами: 11278406

Репутация: 818


По умолчанию

Авторизация омг
PHP код:
function vk_login($email, $pass) {

    
$ch = curl_init('http://login.vk.com/?act=login');
    
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6');
    
curl_setopt($ch, CURLOPT_REFERER, 'http://vkontakte.ru/index.php');
    
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    
curl_setopt($ch, CURLOPT_POST, 1);
    
curl_setopt($ch, CURLOPT_POSTFIELDS, 'email='.urlencode($email).'&pass='.urlencode($pass).'&expire=&vk=');
    
$errno = curl_errno($ch);
    
$error = curl_error($ch);
    
$res = curl_exec($ch);
    if(
$errno > 0) {
    return 
$errno.':'.$error;    
    } else {
    if(
preg_match('#id=\'s\' value=\'(.*)\'#', $res, $m))
    return 
$m[1];
    else return 
false;
    }

} 
Цитата:
curl_setopt($ch, CURLOPT_COOKIEJAR, 'C:/WebServers/home/test1.ru/www/cookies.txt');
Зачем так путь указывать, пиши просто './cook'
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ВКонтакте "счастливый фермер" ЖенькО Социальные сети 309 22.07.2009 11:35



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.