javascript - 通过 javascript 创建 Youtube 下载器插件

标签 javascript youtube

我打算创建视频下载器插件。所以基本上我们需要签名才能从 youtube 下载视频文件。我引用了其他工作插件。它们将签名转换为某种格式。

基本上youtube页面源中的原始签名是

BBB4D55F9CF4387F77958A6960CA96708C73AB59B.037D413F53291E957891898307BBF1C41B6037D77D7

插件将上面的签名转换为下面的签名。

BB4D55F9CF4787F77958A6960CA96708C73AB59B.037D413F53291E957891898307BBF1C41B6037D3

我想知道这些是某种哈希值吗?有人遇到过类似的哈希吗?

最佳答案

密码签名代码的 secret :

Youtube 中的加密签名只是“加扰”签名,您必须根据播放器文件(HTML5 播放器或 Flash 播放器)中存在的算法重新排列它们。

例如 http://www.youtube.com/watch?v=UxxajLWwzqY 目前正在使用以下 HTML5 播放器文件://s.ytimg.com/yts/jsbin/html5player-vfltdb6U3.js

在此文件中,您可以通过搜索“sig”轻松搜索签名解密代码。在这种情况下,算法是:

function bz(a) {
    a = a.split("");
    a = cz(a, 61);
    a = cz(a, 5);
    a = a.reverse();
    a = a.slice(2);
    a = cz(a, 69);
    a = a.slice(2);
    a = a.reverse();
    return a.join("")
}

function cz(a, b) {
    var c = a[0];
    a[0] = a[b % a.length];
    a[b] = c;
    return a
};

上面是解密代码。

但请注意,当他们更改播放器文件时它会不断更改,因此您必须一直点击正在使用的播放器文件。

此外,要使用密码签名下载视频,您还必须注意发送相同的 cookie、使用相同的用户代理 header 、从相同的 IP 地址发送请求以及在提取后立即发送请求。所有这些在某些时候都是或曾经是必需的

有关更多信息,请查看此 API:Cipher API

另一个很酷的 API:YTstream API

关于javascript - 通过 javascript 创建 Youtube 下载器插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19984277/

相关文章:

JavaScript 语法 : inserting the value of a string into a statement

javascript - 单击复选框后,新任务不会删除。

python - 使用Beautiful Soup刮过YouTube验证徽章的实例吗?

javascript - 检测用户是否可以看到 facebook Like 按钮

javascript - 为什么ajax中数据显示未定义

javascript - 仅在 body 元素中淡化背景图像,而不是在 CSS 和 jQuery 的网站中全部淡化

youtube - 嵌入的 YouTube 视频 - 最后删除视频

javascript - Youtube视频播放按钮在Android Webview的视频iframe中不起作用

python - youtube数据api将哪些分类为无效关键字?

c# - WebBrowser无法加载youtube电视