你需要的是curl_setopt($curlHandle, CURLOPT_ENCODING , "gzip");
.... yahoo
uses compression
为其rss
喂养 ...
附加信息包括。
A. CURLOPT_USERAGENT
.... 如果您不知道什么开始看起来像垃圾邮件,那就太好了
B. CURLOPT_TIMEOUT
...只是为了效率
C. CURLOPT_FOLLOWLOCATION
.. 由于干净 URL 和路由的问题
工作代码
header ( 'Access-Control-Allow-Origin: *' );
$tmpFile = 'out.txt';
$val = "http://rss.news.yahoo.com/rss/topstories";
$curlHandle = curl_init ( $val );
$filePointer = fopen ( $tmpFile, "w" );
curl_setopt ( $curlHandle, CURLOPT_FILE, $filePointer );
curl_setopt($curlHandle, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.3 Safari/533.2');
curl_setopt($curlHandle, CURLOPT_ENCODING , "gzip");
curl_setopt($curlHandle, CURLOPT_TIMEOUT,5);
curl_setopt($curlHandle, CURLOPT_FOLLOWLOCATION, TRUE);
curl_exec ( $curlHandle );
curl_close ( $curlHandle );
fclose ( $filePointer );
$linesArr = file ( $tmpFile );
foreach ( $linesArr as $eachLine ) {
echo ($eachLine);
}
我希望这有帮助..如果您需要更多信息,请告诉我