2012-02-09 62 views
-1

我试图使用Youtube的API来拉出视频列表并显示它们。要做到这一点,我需要curl他们的api,并得到返回的XML文件,然后我将解析。Php 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; 
} 

与URL

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

被保存是可怕搞砸了的字符串。没有<>标签,或大部分字符的一半。它看起来100%不同,然后如果我在浏览器中查看它。

我试着打印,回显和var转储,他们都表明它有完全不同的,这使得解析不可能。

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

回答

2

它为我工作。我很确定文件没有错误地被返回,但是当你打印它时,<>标签没有被显示。但是如果你看看源代码,你可以看到它们。

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

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

这显示了xml内容。虽然它不是很漂亮:P。谢谢。我会研究客户端库,如果失败了,请依靠它来使其工作。 – iargue 2012-02-09 22:46:58