PHP CURL Yahoo Finance 返回空白

PHP CURL Yahoo Finance Returning Blank

试图从 Yahoo Finance RSS 提要中获取一些数据,但是在使用 curl 时我得到一个空白响应。有人知道为什么吗?

function getContents($thisURL) {
$strURL = "$thisURL";
$resURL = curl_init();
$ch = curl_init();
curl_setopt($ch,CURLOPT_ENCODING,'gzip');
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, $strURL); 
$data = curl_exec($ch);
curl_close($ch);
return $data;
}


$feed = getContents("http://feeds.finance.yahoo.com/rss/2.0/headline?s=AAPL&region=US&lang=en-US");

如果我使用常规 file_get_contents 则没有问题,例如:

file_get_contents("http://feeds.finance.yahoo.com/rss/2.0/headline?s=AAPL&region=US&lang=en-US");

我不想用file_get_contents

您的 curl 函数包含几个错误,这个有效(已测试):

<?php
function getContents($thisURL) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_URL, $thisURL);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}

echo getContents("http://feeds.finance.yahoo.com/rss/2.0/headline?s=AAPL&region=US&lang=en-US");
?>

我从你那里删除的所有功能都是错误的或不必要的。我添加了 curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);


您可以阅读有关 curl function on php.net

的更多信息