如何像 youtube 那样在 HTML5 的视频标签中欺骗 src 属性
Posted
技术标签:
【中文标题】如何像 youtube 那样在 HTML5 的视频标签中欺骗 src 属性【英文标题】:How to spoof src attribute in video tag in HTML5 as youtube does 【发布时间】:2015-04-14 02:47:16 【问题描述】:因为我们可以检查元素并查看 src 标签并在浏览器中获取视频链接。如何使用虚假网址欺骗用户,以便用户不知道视频的位置。
比如我们打开观察这个视频的src标签
https://www.youtube.com/watch?v=SRXbBwpJIbk
src="blob:https%3A//www.youtube.com/60c62892-bf05-423b-9665-a3a470e9ea37"
但是如果我们再次打开这个链接,如果我们删除 url 中的 blob,我们什么也得不到或 404 错误。
那么 youtube 是如何做到这一点的呢?或者任何其他隐藏网址的方法?
我也在网络面板中观察到。我看不到任何特定的链接来获取视频。如何实现?
【问题讨论】:
拥有blob:http://
不会返回任何内容,您应该研究有关域名和http(s):// 的信息,至于how do they do it?
我将假设视频页面在youtube 只是一个页面,此页面数据将根据 url 中给定的视频参数而改变。将video.php?v=SRXbBwpJIbk
替换为watch?v=SRXbBwpJIbk
可以使用.htaccess
查看这个网站,它使用你建议的方法成功播放了视频,我不知道为什么它在那里工作而不适合你。 tomshannon.com
相关问题:***.com/questions/30864573/…
【参考方案1】:
Blob URL 不是真实且唯一的 URL。它们指向浏览器选项卡中使用的一些内存,并且只能由该选项卡或其依赖项使用。
一旦关闭选项卡,内存就会丢失。这就是您无法在其他选项卡中打开该 blob URL 的原因。
YouTube 似乎正在通过 XHR 加载视频块,并使用每个块创建或更新 blob。然后浏览器读取“流” blob,就好像它是本地文件一样(因为 YouTube 手动处理加载)
【讨论】:
【参考方案2】:也许这对你有用,但如果这个 blob: 内置在他的脚本中,我不知道。也许你问他是否可以添加它,如果它不适合你
https://www.npmjs.com/package/location-hide
这个模块有很多很棒的功能,我经常在我的博客中使用它
【讨论】:
【参考方案3】:尝试改变
https://www.youtube.com/watch?v=SRXbBwpJIbk
到
https://www.youtube.com/embed/SRXbBwpJIbk
即,将/watch?v=
更改为/embed/
【讨论】:
以上是关于如何像 youtube 那样在 HTML5 的视频标签中欺骗 src 属性的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Youtube 视频嵌入 HTML5 <video> 标签?