无法使用CURL获取订阅源内容


Unable to get feed content with CURL

我正在尝试获取此提要的内容:http://www.institut-viavoice.com/viavoice-paris/publications/sondages-publies?format=feed&type=rss

这是我的代码:

$url = 'http://www.institut-viavoice.com/viavoice-paris/publications/sondages-publies?format=feed&type=rss';
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER         => false,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_ENCODING       => "",
CURLOPT_USERAGENT      => "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0",
CURLOPT_AUTOREFERER    => true,
CURLOPT_CONNECTTIMEOUT => 30,
CURLOPT_TIMEOUT        => 30,
CURLOPT_MAXREDIRS      => 10
);
$curl = curl_init($url); 
curl_setopt_array( $curl, $options ); 
$content = curl_exec($curl); 
curl_close($curl);
echo $content;

我尝试了许多其他CURL选项,但都不起作用。由于内容可以通过我的浏览器访问,我想它可以用PHP完成。但是我的代码出了什么问题?这个提要的服务器似乎有一个异常?

不确定,可能是您破坏了cURL选项并调用了URL。这里有一个简单的例子,试试看:

function get_data($url) {
    $ch = curl_init();
    $timeout = 5;
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0");
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
}
$content = get_data('http://www.institut-viavoice.com/viavoice-paris/publications/sondages-publies?format=feed&type=rss');
echo $content;