【问题标题】:Php curl incorrect downloadphp curl 下载不正确
【发布时间】:2012-02-09 22:36:21
【问题描述】:

我正在尝试使用 Youtube 的 API 来提取视频列表并显示它们。为此,我需要 curl 他们的 api 并获取返回的 xml 文件,然后我将对其进行解析。

当我运行以下 curl 函数时

function get_url_contents($url){
        $crl = curl_init();
        $timeout = 5;
        curl_setopt ($crl, CURLOPT_URL,$url);
        curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt ($crl, CURLOPT_CONNECTTIMEOUT, $timeout);
        $ret = curl_exec($crl);
        curl_close($crl);
        return $ret;
}

反对网址

http://gdata.youtube.com/feeds/api/videos?q=Apple&orderby=relevance

保存的字符串被严重搞砸了。没有 标签,或者大部分字符中的一半。如果我在浏览器中查看它,它看起来 100% 不同。

我尝试了 print、echo 和 var dump,它们都表明它完全不同,这使得解析变得不可能。

如何从服务器正确获取文件?

【问题讨论】:

    标签: php xml curl download


    【解决方案1】:

    它对我有用。我很确定文件返回时没有错误,但是当您打印它时, 标记不会显示。但是如果你查看源代码,你可以看到它们。

    试试这个,你可以看到它的工作:

    $content = get_url_contents('http://gdata.youtube.com/feeds/api/videos?q=Apple&orderby=relevance');
    $xml = simplexml_load_string($content);
    print_r($xml);
    

    【讨论】:

    • 这显示了 xml 内容。虽然它不是很漂亮:P。谢谢你。我会查看客户端库,如果失败,请依靠它来使其工作。
    【解决方案2】:

    利用 Google 提供的客户端库,它会让您的生活更轻松。

    http://code.google.com/apis/youtube/2.0/developers_guide_php.html

    【讨论】:

    • 谢谢。我会调查的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-05
    • 2013-01-10
    • 1970-01-01
    • 2016-09-30
    • 2014-07-07
    • 2016-05-28
    • 1970-01-01
    相关资源
    最近更新 更多