【问题标题】:Error parsing XML feed from my wordpress blog using php curl使用 php curl 解析我的 wordpress 博客中的 XML 提要时出错
【发布时间】:2012-09-07 21:35:40
【问题描述】:

https://blog.onlywire.com/category/content-submission/feed/

这是我的提要网址。出于某种原因,我无法使用 PHP 解析它。我错过了什么?

脚本:

$ch = curl_init( $feed_curl );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
$data = curl_exec($ch);
echo $data;

【问题讨论】:

  • 你遇到了什么错误?
  • 没有错误。它适用于其他提要..

标签: php curl xml-parsing rss


【解决方案1】:

尝试查看是否出现任何 curl 错误 - 不要忘记关闭处理程序!

        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // return into a variable
        curl_setopt($ch, CURLOPT_HEADER, 0);
        $result = curl_exec($ch); // run!
        if($result === FALSE) {
            var_dump(curl_error($ch));
        }
        else {
            var_dump($result);
        }
        curl_close($ch);

【讨论】:

  • +1 表示curl_error()。此外,添加这表明它无法验证证书 [Peer certificate cannot be authenticated with given CA certificates]。因此,将 https:// 更改为 http:// 可以解决此问题,并且您的提要内容会按预期返回。
  • 我尝试将链接更改为 http.. 但没有运气.. 我在我的服务器上启用了 curl。我也试过把 curl_error().. 它什么也没给.. 你们中的任何人都可以检查它是否在您的服务器上工作吗?非常感谢您在这方面的帮助。
  • @Samarth,您的原始代码对我有用,刚刚将 https 更改为 http
【解决方案2】:

尝试指定根 CA 文件:

curl_setopt($ch, CURLOPT_CAINFO, '/path/to/your/cafile');

您可以从 curl 网站下载 CA 文件:

http://curl.haxx.se/docs/caextract.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-03
    • 2011-12-01
    • 2013-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-18
    • 2011-01-22
    相关资源
    最近更新 更多