尝试从Yahoo Finance RSS feed获取一些数据,但是当使用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®ion=US&lang=en-US");
如果我使用常规的file_get_contents,它就不会出现问题,例如:
file_get_contents("http://feeds.finance.yahoo.com/rss/2.0/headline?s=AAPL®ion=US&lang=en-US");
我不想使用file_get_contents
答案 0 :(得分:3)
您的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®ion=US&lang=en-US");
?>
我从你的功能中删除的所有内容都是错误的或不必要的。我添加了curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
您可以阅读有关curl function on php.net
的更多信息