我使用Dailymotion json API和PHP引用很多代码
如果简单使用浏览器浏览api url,内容“stream_h264_url”可以复制使用而不是播放。 但是使用PHP echo或打印json API拷贝“stream_h264_url”,结果是空白页。
如何做才能解决这个问题? 感谢。
=======更新:=======
这个代码可能很容易理解
<?php
?>
结果是空白页。如果启用“标题位置”。
参见示例视频 http://www.dailymotion.com/video/k3xKoQWm7w1vDR8IxVM
我不明白,为什么使用CodeRunner结果可以播放视频。 在Web浏览器中运行PHP文件将无法正常工作。
抱歉,我放弃了。
答案 0 :(得分:0)
问题是你没有得到卷曲的回复,或者你只是看不到任何输出?
您是否尝试过使用var_dump(json_decode($content,true));
或echo $content;
来确保您实际收到Daily Motion的回复?
您可能只是获得White Screen of Death。
发布视频链接后更新
我想知道问题是你的curl请求是由PHP服务器发送的,而Daily Motion会将auth代码授予你的服务器,但是你尝试使用header: location
重定向浏览器,但浏览器不是与您的服务器相同,因此身份验证代码被Daily Motion拒绝,因为它不是由授予授权代码的同一请求者发送的。
答案 1 :(得分:0)
我在我的本地机器上运行你的代码,输出是
Array ( [stream_h264_sd_url] => http://www.dailymotion.com/cdn/H264-320x240/video/xt27x1.mp4?auth=1409329979-2562-powad7sw-c7d26f9df92ba4975d710020e793bd6d [stream_h264_hq_url] => [stream_h264_url] => http://www.dailymotion.com/cdn/H264-512x384/video/xt27x1.mp4?auth=1409329979-2562-s4iclgxy-6f7a4eed9658bc22bf4551c3991bb400 [stream_h264_hd_url] => )
确保你的curl和php是最新的
请注意我更改了$ session,因为$ _SESSION是全局的,也可能导致问题
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://www.dailymotion.com/json/video/xt27x1?fields=stream_h264_sd_url,stream_h264_hq_url,stream_h264_url,stream_h264_hd_url");
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$content = curl_exec($ch);
curl_close($ch);
print_r(json_decode($content,true));