youtube-dl无法通过amazon ec2机器进行身份验证

时间:2017-08-23 12:18:36

标签: authentication amazon-ec2 youtube-dl

我使用curl在我的本地计算机上安装了youtube-dl,如官方README here中所述。

sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl

现在,当我在本地计算机上运行命令

youtube-dl --cookies cookie.txt https://www.youtube.com/watch?v=x-5V_RS3Q48 -u my_account@gmail.com -p my_pass_word

我可以毫不费力地下载视频,如下所示。

enter image description here

但是当我尝试在我的某个ec2实例上下载相同的视频时,我收到以下异常。

enter image description here

两台机器上的安装程序完全相同,youtube-dl版本完全相同(2017.08.18),python版本相同(2.7.6)

我能想到的唯一区别是两台机器上的内核版本:

在我的本地: Linux-3.19.0-25-generic-x86_64-with-Ubuntu-14.04-trusty

在EC2实例上: Linux-3.13.0-74-generic-x86_64-with-Ubuntu-14.04-trusty

我尝试下载的视频也是私有,并由同一位用户上传我提供的凭据。

需要注意的一点是,如果我没有使用用户名,那么EC2机器可以毫无困难地下载视频。密码(仅适用于非私人视频)

由于

1 个答案:

答案 0 :(得分:0)

发布答案以防其他人遇到类似问题。

AWS提供的ec2实例上的服务器版Linux OS上未生成cookie的问题。

根据我最近学到的,我们在这些机器上不支持firefox浏览器(至少默认情况下),这就是为什么它无法创建cookie文件。

<强>解决方案

我在本地创建了该文件,并将未来的到期时间设置为20年,并将该cookie移到服务器ec2实例上并使用该cookie登录而不是创建一个。

由于