Проблема с CURL

Rigor

Профессор
Регистрация
1 Июн 2008
Сообщения
203
Реакции
35
Хочу полчить страницу с видео вк:

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;

Итог - ничего. В чем ошибка? Если вставить другой сайт, то все работает
 
ответ вк: "Це відео вилучене з публічного доступу." Так что написанно вобщемто правильно.
добавь в начало скрипта
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);
 
ответ вк: "Це відео вилучене з публічного доступу." Так что написанно вобщемто правильно.
добавь в начало скрипта
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);
Никаких ошибок не появилось. Кстати, забыл сказать, что вместо html страницы возвращается просто исходный url
 
Никаких ошибок не появилось. Кстати, забыл сказать, что вместо html страницы возвращается просто исходный url

Если после добавления строк (добавлять после $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
Если после добавления строк (добавлять после $html = curl_exec($curl);)
PHP:
$curl_error = curl_error($curl);
$curl_stat = curl_getinfo($curl);
curl_close($curl);
var_dump($curl_error, $curl_stat);
у тебя вывод не изменился - чисти кеш браузера или сервера. И убедись, что ты запускаешь обновленный скрипт, а не старую копию. А также загляни в логи апача, может он ошибками порадует.
К чему это вообще? вряд ли сервер вернёт ему 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;
?>
Работать просто обязано! В противном случае проблема обретает невероятные масштабы, связанные с настройкой сервера и потому тут разве что хостер может тебе помочь.
 
К чему это вообще? вряд ли сервер вернёт ему 304 код, на динамическую страницу.
Для того чтобы видеть, что вернул курл и понять, что дальше делать. При чём тут 304 код Для просмотра ссылки Войди или Зарегистрируйся и как вообще его можно получить при таком коде как у ТС?

Всмысле возвращается исходный url? браузер просто показывает vk.com/video_ext.php?oid=18507438&id=160567583&hash=961f4b671d24c53a ?
PHP:
require 'snoopy.class.php'; // качаем тут http://sourceforge.net/projects/snoopy/
Работать просто обязано! В противном случае проблема обретает невероятные масштабы, связанные с настройкой сервера и потому тут разве что хостер может тебе помочь.
В том-то и прикол, что человек похоже скрипт не отредактировал или у него apc/ngix/"фиг знает что" закешировало вывод и снупи ему в решении никак не поможет...
Единственная ситуация, в которой поможет snoopy, это отключенный курл.
 
Проблему так и не решил,скорее всего дело в хостинге, сделал тоже самое на другом хосте и все ок.
 
Назад
Сверху