2012-02-09 14 views
-1

私はYoutubeのAPIを使ってビデオのリストを取得して表示しようとしています。これを行うには、私は自分のAPIをカールし、xmlファイルを返す必要があります。次にこれを解析します。php curl incorrect download

私はURL

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

に対する

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; 
} 

次カールの関数を実行すると保存されている文字列が恐ろしくめちゃくちゃにされています。 <>タグ、またはほとんどの文字の半分はありません。私はそれをブラウザで見ると100%異なって見えます。

私はprint、echo、var dumpを試してみましたが、それらは完全に異なっていることを示しているため、解析が不可能です。

サーバーからファイルを正しく取得するにはどうすればよいですか?

答えて

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