【问题标题】:SimplePie document parse errorSimplePie 文档解析错误
【发布时间】:2015-04-21 11:47:37
【问题描述】:

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

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

提要是这个: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();

有人可以帮我吗?

【问题讨论】:

    标签: laravel simplepie


    【解决方案1】:

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

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

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

    分享您遇到的相同问题。他认为这与 SimplePie 用于对 URL 中的参数进行 urlencode 的方法有关。您可以创建一个代理 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'); ?>

    【讨论】:

    • 我已经添加了CURLOPT_SSL_VERIFYHOST,但是如果我指定$feed-&gt;force_feed(true),我仍然会遇到同样的错误,如果我不这样做,则无法找到提要。
    • 只有在使用 ibm 提要时才有问题?
    • 它也可能与您正在运行的 PHP 版本有关。 (你能查一下吗?)
    • 我其实在用PHP 5.5.23-1+deb.sury.org~precise+2 (cli) (built: Mar 24 2015 11:00:01)
    • 你检查过我原来的答案吗?我根据在 github 上找到的内容添加了更新。
    猜你喜欢
    • 1970-01-01
    • 2019-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-23
    • 2013-08-17
    相关资源
    最近更新 更多