我正在尝试使用Youtube的API来提取视频列表并显示它们。要做到这一点,我需要卷曲他们的api并返回xml文件,然后我将解析。
当我运行以下卷曲功能时
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,它们都显示它完全不同,这使得解析它变得不可能。
如何从服务器正确获取文件?
答案 0 :(得分:2)
这对我有用。我很确定文件的返回没有错误,但是当你打印它时,<>标签没有显示。但如果查看源代码,就可以看到它们。
试试这个,你可以看到它的工作原理:
$content = get_url_contents('http://gdata.youtube.com/feeds/api/videos?q=Apple&orderby=relevance');
$xml = simplexml_load_string($content);
print_r($xml);
答案 1 :(得分:1)
利用Google提供的客户端库,让您的生活更轻松。
http://code.google.com/apis/youtube/2.0/developers_guide_php.html