Dailymotion API请求返回空白结果

时间:2012-06-08 13:37:04

标签: php json api curl

我使用以下代码检索视频ID,标题,缩略图,持续时间和标签。

$dailymotion = "https://api.dailymotion.com/video/xreczc?fields=title,duration,thumbnail_url,id,tags";
$curl = curl_init($dailymotion);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$return = curl_exec($curl);
curl_close($curl);
$results = json_decode($return, true);
print_r($results);

然而它返回空/空白页面。我在我的localhost上使用这个可能有什么问题?我可以直接在浏览器中调用https://api.dailymotion.com/video/xreczc?fields=title,duration,thumbnail_url,id,tags,然后就可以了。

任何帮助或想法?

3 个答案:

答案 0 :(得分:1)

请试试这个。

$dailymotion = file_get_contents("https://api.dailymotion.com/video/xreczc?fields=title,duration,thumbnail_url,id,tags");

$results = json_decode($dailymotion, true);

print_r($results);

答案 1 :(得分:0)

您正在尝试通过已知问题的curl获取https链接。请参阅以下链接,了解它们是否有助于解决您的问题。

Can't connect to HTTPS site using cURL. Returns 0 length content instead. What can I do?

http://unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-ssltls-protected-sites/

此致

答案 2 :(得分:0)

此代码似乎解决了这个问题。

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.dailymotion.com/video/".$id."?fields=id,title,thumbnail_url,tags,duration,embed_url");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
$results = curl_exec($ch);
curl_close($ch);
$results = json_decode($results);
if (!$results || $results->error->code) {
    return false;
} else {
    return $results;
}