Проблема с CURL

Тема в разделе "Как сделать...", создана пользователем Rigor, 19 окт 2012.

  1. Rigor

    Rigor

    Регистр.:
    1 июн 2008
    Сообщения:
    202
    Симпатии:
    33
    Хочу полчить страницу с видео вк:

    PHP:
            $curl curl_init();
    $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)';
    $curl_options = array (
                
    CURLOPT_URL => 'vk.com/video_ext.php?oid=18507438&id=160567583&hash=961f4b671d24c53a'// адреc сайта
                
    CURLOPT_COOKIESESSION => TRUE// начинаем новую сессию
                  
    CURLOPT_RETURNTRANSFER => true// не выводим код в бразуер
                
    CURLOPT_HEADER => TRUE// пишем  заголовок   
                
    CURLOPT_FOLLOWLOCATION => TRUE// переадресация
                
    CURLOPT_CONNECTTIMEOUT => 30// таймаут   
                
    CURLOPT_ENCODING => 'gzip,deflate'//сжатие
                
    CURLOPT_USERAGENT => $user_agent,
     
            );
           
    curl_setopt_array($curl$curl_options);           
    $html curl_exec($curl);
        echo 
    $html;
    Итог - ничего. В чем ошибка? Если вставить другой сайт, то все работает
     
  2. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.549
    Симпатии:
    1.433
    ответ вк: "Це відео вилучене з публічного доступу." Так что написанно вобщемто правильно.
    добавь в начало скрипта
    PHP:
    error_reporting(8191); ini_set('html_errors'true); ini_set('display_errors','On');
    чтобы видеть ошибки php.

    Ошибки загрузки отлавливай так:
    PHP:
    $curl_error curl_error($curl);
    $curl_stat curl_getinfo($curl);
    curl_close($curl);        
    var_dump($curl_error,    $curl_stat);
     
  3. Rigor

    Rigor

    Регистр.:
    1 июн 2008
    Сообщения:
    202
    Симпатии:
    33
    Никаких ошибок не появилось. Кстати, забыл сказать, что вместо html страницы возвращается просто исходный url
     
  4. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.549
    Симпатии:
    1.433
    Если после добавления строк (добавлять после $html = curl_exec($curl);)
    PHP:
    $curl_error curl_error($curl);
    $curl_stat curl_getinfo($curl);
    curl_close($curl);
    var_dump($curl_error$curl_stat);
    у тебя вывод не изменился - чисти кеш браузера или сервера. И убедись, что ты запускаешь обновленный скрипт, а не старую копию. А также загляни в логи апача, может он ошибками порадует.
     
  5. Extalionez

    Extalionez Клоун

    Заблокирован
    Регистр.:
    21 авг 2008
    Сообщения:
    368
    Симпатии:
    185
    К чему это вообще? вряд ли сервер вернёт ему 304 код, на динамическую страницу.
    Всмысле возвращается исходный url? браузер просто показывает vk.com/video_ext.php?oid=18507438&id=160567583&hash=961f4b671d24c53a ?
    Короче, чтобы
    PHP:
    <?php
    /**
    * @author Extalionez
    * @time 19.10.2012 21:32
    */
     
    require 'snoopy.class.php'// качаем тут http://sourceforge.net/projects/snoopy/
    $page = new Snoopy;
    $page->fetch('http://vk.com/video_ext.php?oid=940387&id=159002576&hash=7f3cf47fd50c02bd&hd=1');
    echo 
    $page->results;
    ?>
    Работать просто обязано! В противном случае проблема обретает невероятные масштабы, связанные с настройкой сервера и потому тут разве что хостер может тебе помочь.
     
  6. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.549
    Симпатии:
    1.433
    Для того чтобы видеть, что вернул курл и понять, что дальше делать. При чём тут 304 код http://ru.wikipedia.org/wiki/Список_кодов_состояния_HTTP и как вообще его можно получить при таком коде как у ТС?

    В том-то и прикол, что человек похоже скрипт не отредактировал или у него apc/ngix/"фиг знает что" закешировало вывод и снупи ему в решении никак не поможет...
    Единственная ситуация, в которой поможет snoopy, это отключенный курл.
     
  7. Rigor

    Rigor

    Регистр.:
    1 июн 2008
    Сообщения:
    202
    Симпатии:
    33
    Проблему так и не решил,скорее всего дело в хостинге, сделал тоже самое на другом хосте и все ок.