0

我使用 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 文件将不起作用。

对不起,我放弃了。

4

2 回答 2

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));
于 2014-08-27T16:34:20.147 回答
0

问题是您没有得到 curl 的响应,还是您看不到任何输出?

您是否尝试过使用var_dump(json_decode($content,true));echo $content;确保您确实收到了 Daily Motion 的回复?

你也可能只是得到一个白屏死机

视频链接发布后更新: 我想知道问题是否在于 PHP 服务器正在发送您的 curl 请求,并且 Daily Motion 将身份验证代码授予您的服务器,但是您尝试使用 重定向浏览器header: location,但浏览器不是与您的服务器相同,因此 Daily Motion 拒绝了身份验证代码,因为它不是由授予身份验证代码的同一请求者发送的。

于 2014-08-27T16:31:56.443 回答