2017-08-23 100 views
1

我在我的本地機器上使用curl安裝了youtube-dl,如官方README here中所述。youtube-dl無法從亞馬遜ec2機器進行身份驗證

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 [email protected] -p my_pass_word 

我能下載的視頻沒有任何麻煩,如下圖所示運行下面的命令。

enter image description here

但是,當我嘗試下載我的EC2實例中的一個相同的視頻,我得到下面的異常。

enter image description here

兩個機器上的安裝過程是完全相同,YouTube的-DL版本是完全相同的(2017年8月18日),蟒版本是相同的(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的機器,如果我不使用的用戶名&密碼(這是唯一可能對於不是私有視頻)

感謝

能下載的視頻沒有任何麻煩

回答

0

發佈答案,以防其他人遇到類似問題。

在AWS提供的ec2實例上的服務器版Linux OS上未生成cookie的問題。

根據我最近了解到的情況,我們沒有在這些機器上支持firefox瀏覽器(至少默認情況下),這就是爲什麼它無法創建cookie文件。

解決方案

我創建的文件在本地和到期時間設定在未來的20年,搬到該cookie的服務器EC2實例和使用的cookie來登錄,而不是創建一個。

謝謝