2012-02-09 47 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