我正在尝试在我的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();
有人可以帮助我吗?
答案 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');
?>