SimplePie文档解析错误

时间:2015-04-21 11:47:38

标签: laravel simplepie

我正在尝试在我的laravel应用程序中实现Simplepie来解析提要,但是当我这样做时,我得到了这个错误:

  

此XML文档无效,可能是由于字符无效。 XML   错误:第1行第1列的格式不正确(令牌无效)

Feed就是这个:https://www-304.ibm.com/connections/blogs/roller-ui/rendering/feed/PSIRT/entries/atom?search=cn4093&t=entry&f=all&lang=en_us,它在演示应用中运行良好,但在本地失败。

我在做什么:

$feed = new SimplePie();
$feed->set_feed_url("https://www-304.ibm.com/connections/blogs/roller-ui/rendering/feed/PSIRT/entries/atom?search=cn4093&t=entry&f=all&lang=en_us");
$feed->enable_cache(true);
$feed->set_cache_location(storage_path().'/cache');
$feed->set_cache_duration(60*60*12);
$feed->set_output_encoding('utf-8');
$feed->force_feed(true)
$feed->init();

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

问题似乎是因为您尝试加载的SSL(https)连接。请阅读:https://github.com/simplepie/simplepie/issues/236

它包含使用cURL下载RSS的修复程序,并将其结果包含在SimplePie类中进行解析。

更新: 阅读manishbhatias于2011年7月20日评论的评论:https://github.com/simplepie/simplepie/issues/82

分享您遇到的同样问题。他认为这与SimplePie用于urlencode URL中的参数的方法有关。您可以创建一个代理PHP脚本,看看是否能解决问题。

<?php echo file_get_contents('https://www-304.ibm.com/connections/blogs/roller-ui/rendering/feed/PSIRT/entries/atom?search=cn4093&t=entry&f=all&lang=en_us'); ?>