我的大学已在他们的网站上上传了讲座视频。要访问它们,必须输入我显然拥有的某些凭证。他们正在使用简单的Apache Server。视频嵌入为Flowplayer
,但不提供下载方法。视频页面的Flowplayer
来源大致如下:
html
我尝试观察Chrome开发者工具中的“网络”标签,由于网络消耗量最大,它显示了视频的位置。它称为<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Show video</title>
<script type="text/javascript" src="https://www.example.com/videos/javascript/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="https://www.example.com/videos/css/mta.css?timestamp=1440967823" />
</head>
<body>
<script src="javascript/flowplayer/flowplayer-3.2.12.min.js"></script>
<div style="width: 256px; height: 256px; background-color: #ff00ff" id="player"></div>
<script type="text/javascript">
$f("player", "javascript/flowplayer/flowplayer-3.2.16.swf", {
onLoad: function(){
$.get("https://www.example.com/videos/prepareVideo",
{videoID :'fae98609a52e6d252606248d1339e919'},
function(data){
$f("player").play(data.url);
$('#player').width(data.width);
$('#player').height(data.height);
$('#title').html("Playing "+data.description);
}
);
}
}
);
</script>
</body>
</html>
。
在浏览器中打开其URL将返回包含以下内容的页面:
video.mp4
为什么找不到文件?会话数据如何处理?我对自己进行了身份验证。尽管假设有人可以提供凭据,但是是否可以通过直接下载链接以编程方式下载视频并进行下载?
不确定这些信息是否仍然对您有帮助,但是下面的简短脚本可以解决问题:
<html><body>404 File not found, no session data found</body></html>
实际上,使用http服务器凭据的唯一目的这是为了验证您的身份。但是下一步是真正的重要的。该网站使用会话cookie来跟踪您对视频的要求。实际上,“ perpareVideo”脚本据我所知-一个php脚本正在创建服务器上的临时文件,仅当您处于播放视频。如果文件过多,文件似乎无效从准备到下载请求之间的时间间隔。
因此,需要两个连续的http请求才能“看到”真实的视频文件。我通过两次运行wget-tool意识到了这一点。的这里的“奖励”是,该文件甚至可以获取其真实姓名(标签)第一个http-request收集的元信息的集合。
最重要的是,这两个请求应属于到同一会话,其余的很容易;)
我认为他们花了很多时间来建立这个视频基础架构,甚至还可以避免下载视频,但有趣的是,讲座是关于“安全性”的还涵盖了“可用性”,因此那里的视频应该(至少在我看来)即使没有能力访问互联网时,应提供无障碍内容。因此,由于某些内容仅以视频形式提供,因此是否需要以相同的方式下载此内容pdf文件完成。
最美好的祝愿...
[2015年的帖子可能是我唯一的希望。我遇到了同样的问题-您是否曾经设法下载视频?如果是这样-如何?