Подскажите, как PHP+curl заливать видео в Вконтакте?
Новая тема Написать ответ
# Пн Май 21, 2012 8:43 amVKtraf Зарег.: 03.02.2012 ; Сообщ.: 969Ответить с цитатой
Привет всем!
Подскажите пожалуйста, каким образом можно при помощи PHP и curl'а заливать видео в свой профиль Вконтакте?

Есть такое "ядро", чтобы логинится в ВК:
Код:
<?
    // true т.к. мы будем отправлять post запрос:
    curl_setopt($ch, CURLOPT_POST, true); 
    // чтобы сайт думал, что мы - браузер:
    curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
    // ответ сервера будем записывать в переменную
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    // по редиректам будем переходить автоматически.
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_URL, 'http://login.vk.com/?act=login');
    //Формирование запроса таким образом, я счел более наглядным
    $post = array(
                'act' => 'login',
                'q' => '',
                'al_frame' => '1',
                'expire' => '',
                'captcha_sid' => '',
                'captcha_key' => '',
                'from_host' => 'vk.com',
                'email' => $login,
                'pass' => $password
            );
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
    $answer = curl_exec($ch);
    $sid = substr($answer, strpos($answer, "setCookieEx('sid', '") + 20, 60);
    $cookie = 'remixsid=' . $sid;
    $_SESSION['cookie'] = $cookie;
   
    curl_setopt($ch, CURLOPT_POST, false);
    curl_setopt($ch, CURLOPT_COOKIE, $_SESSION['cookie']);



Заходим в ВК так:
Код:
<?
session_start();

$user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.2.13) ' .
            'Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729)';
$cookie = '';
$login = '_логин_';
$password = '_пароль_';

$ch = curl_init();

include('core.php');

curl_setopt($ch, CURLOPT_URL, 'http://vk.com/video');

// --- получаем хэш страницы ---
 $prehash = curl_exec($ch);
 preg_match_all('/"hash":"(\w+)"/i', $prehash, $interests_hash);
 $final_hash = $interests_hash[0][0];
 
 $final_hash = str_replace("\"", "", $final_hash);
 $final_hash = str_replace("hash:", "", $final_hash);
// --- получаем хэш страницы ---

   //Формирование запроса
    $post = array(
               


КАК ТУТ ЗАДАТЬ ОТПРАВКУ ВИДЕО?



            );
         
    $post[hash] = $final_hash;      // перезаписываем ячейку хэша для отправки на полученную со страницы
   
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
    $answer = curl_exec($ch);
    echo

    // смотрим готовую страницу
    curl_setopt($ch, CURLOPT_URL, 'http://vk.com/video');
   $answer = curl_exec($ch);
    echo $answer;

curl_close($ch);
?>



Или может есть более простой путь заливать видео в свой профиль, подскажите пожалуйста.

Заранее большое спасибо за ответы, идеи и мысли Drinks or Beer :thup:
# Пн Май 21, 2012 10:49 amCodd Зарег.: 13.01.2011 ; Сообщ.: 186Ответить с цитатой
Цитата:
Или может есть более простой путь заливать видео в свой профиль, подскажите пожалуйста.



Авторизируетесь с правами доступа к видеозаписям
И загружаете видео
Новая тема Написать ответ    ГЛАВНАЯ ~ ТЕХНИЧЕСКИЕ ВОПРОСЫ
 
Любое использование материалов, размещенных на ArmadaBoard.com, без разрешения владельцев ArmadaBoard.com запрещено.