Rss reader in PHP(PHP中的RSS阅读器)
本文介绍了PHP中的RSS阅读器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
header('Access-Control-Allow-Origin: *');
$tmpFile = 'tmpFile.txt';
$val="http://rss.news.yahoo.com/rss/topstories";
$curlHandle = curl_init($val);
$filePointer = fopen($tmpFile, "w");
curl_setopt($curlHandle, CURLOPT_FILE, $filePointer);
curl_exec($curlHandle);
curl_close($curlHandle);
fclose($filePointer);
$linesArr = file($tmpFile);
foreach($linesArr as $eachLine){
echo($eachLine);
}
程序应该从Yahoo RSS站点获取所有材料,并将它们输出到tmpFile中。 执行程序后,我打开了tmpFile.txt。它显示
c1.ops.sp1.yahoo.com未压缩/分块星期三Apr 11 01:46:41 UTC 2012-->
这看起来不太对劲。我粘贴了urlhttp://rss.news.yahoo.com/rss/topstories有很多资料返回。
推荐答案
您需要的是curl_setopt($curlHandle, CURLOPT_ENCODING , "gzip");.yahoo将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);
}
我希望这会有帮助..如果您还需要什么,请告诉我
这篇关于PHP中的RSS阅读器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
织梦狗教程
本文标题为:PHP中的RSS阅读器
基础教程推荐
猜你喜欢
- 有什么方法可以用编码 UTF-8 而不是 Unicode 返回 PHP`json_encode`? 2021-01-01
- PHP PDO MySQL 查询 LIKE ->多个关键词 2021-01-01
- 学说 dbal querybuilder 作为准备好的语句 2022-01-01
- PHP 类:全局变量作为类中的属性 2021-01-01
- YouTube API v3 点赞视频,但计数器不增加 2022-01-01
- Cron Jobs 调用带有变量的 PHP 脚本 2022-01-01
- 在PHP中根据W3C规范Unicode 2022-01-01
- 如何在 Laravel 5.3 注册中添加动态下拉列表列? 2021-01-01
- 如何在 Laravel 中使用 React Router? 2022-01-01
- 如何替换eregi() 2022-01-01
