我使用以下代码检索视频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,然后就可以了。
任何帮助或想法?
答案 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;
}