youtube-dl下载视频出现SSL证书的问题解决办法

$ youtube-dl https://www.youtube.com/watch\?v\=WBxxxxxxxxx
[youtube] WBxxxxxxxxx: Downloading webpage
ERROR: Unable to download webpage: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)> (caused by URLError(SSLError(1, u‘[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)‘),))用youtube-dl下载视频的时候出现这个提示,如何解决呢(以debian系统为例)?网上一般能查到的临时解决方法是加个“--no-check certificate”的参数,但是这样很麻烦,每次都要加这个参数,着实痛苦。有没有其他彻底的解决办法呢?有的,这里需要将你的python升级到3.7.4,pip也升级到最新版,youtube-dl也升级到最新版。然后分别用--version参数来查看版本号。(在编译python3.7.4的时候还要注意编译一个ssl的模块(在解压后的python包里),这个需要自己百度了,比如 https://www.cnblogs.com/mqxs/p/9103031.html)安装的方式最好是下载源代码进行编译安装。另:如果SSL有问题,或者版本较老,还需要重新卸载掉,重新编译安装。

apt-get purge openssl
rm -rf /etc/ssl #删除配置文件 (如果有这个文件的话)
编译与安装 OpenSSL
prefix 是安装目录,openssldir 是配置文件目录,另外建议安装两次,shared 作用是生成动态连接库。

最新的ssl版本参考这里,ftp://ftp.openssl.org/source/,参考修改版本号即可。

wget ftp://ftp.openssl.org/source/openssl-1.1.1c.tar.gz
tar -zxf openssl-1.1.1c.tar.gz
cd openssl-1.1.1c/
./config  --prefix=/usr/local --openssldir=/usr/local/ssl
make && make install
./config shared --prefix=/usr/local --openssldir=/usr/local/ssl
make clean
make && make install

这里有个sh的代码,可以参考(用再mac系统的):mac-curl-ca-bundle.sh
#!/bin/bash
mkdir /tmp/curl-ca-bundle
cd /tmp/curl-ca-bundle
wget http://curl.haxx.se/download/curl-7.22.0.tar.bz2
tar xzf curl-7.22.0.tar.bz2
cd curl-7.22.0/lib/
./mk-ca-bundle.pl
if [ ! -d /usr/share/curl/ ]; then
	sudo mkdir -p /usr/share/curl/
else
	sudo mv /usr/share/curl/ca-bundle.crt /usr/share/curl/ca-bundle.crt.original
fi
sudo mv ca-bundle.crt /usr/share/curl/ca-bundle.crt
echo
echo "Done!"

 如果直接保存,在MAC下运行不知道情况,不过在debian系统下运行可能会有些问题。所以上面这段代码建议只是参考使用。特别是解压.tar.bz2的压缩包的时候,

.tar.gz     格式解压为          tar   -zxvf   xx.tar.gz

.tar.bz2   格式解压为          tar   -jxvf    xx.tar.bz2 (这种解压方式在debian系统下测试是可行的。)

反正最后一步都是:mv ca-bundle.crt /usr/share/curl/ca-bundle.crt

移动过去后,最后编辑/root目录下的.bashrc,即 $nano /root/.bashrc

在最后面一行加入以下代码:

export SSL_CERT_FILE="/usr/share/curl/ca-bundle.crt"

然后保存即可。

然后再用youtube-dl来下载YTB视频的时候就不会出现这个SSL错误了,也不要带那个麻烦的参数了。

参考文章(致谢):

https://github.com/ytdl-org/youtube-dl/issues/5317

https://gist.github.com/1stvamp/2158128

 

原文地址:https://www.cnblogs.com/eaglepie/p/11378120.html

时间: 2024-09-30 04:29:08

youtube-dl下载视频出现SSL证书的问题解决办法的相关文章

有关苹果无法导出p12证书的问题解决办法。

原因一 所选类型选择错误.解决办法:左侧有两个分类,一个是钥匙串,一个是种类,要选择种类中的我的证书或者证书.然后在右侧证书列表中,右键导出即可. 原因二 使用钥匙串生成的证书有问题,格式为(certSigningRequest)解决办法:钥匙串访问--> 证书助理 --> 从证书颁发机构请求证书... 原因三 前两个原因确保没有问题,那么就有可能是Mac系统缺少AppleWWDRCA.cer证书.解决办法:这个证书是苹果官方的证书,Apple World Wide Developer Rel

从youtube批量下载视频

首先fq.然后去youtube找到喜欢的视频列表.拷贝下来. 然后去这个网站. https://youtubemultidownloader.com/playlist.html 将url粘贴到红色笔标注位置. 然后将下面得到的东西复制下来.打开idm--->>任务--->>从剪切板批量导入. ... 本文链接 http://www.cnblogs.com/zimudao ... 然后不知道为什么,文件名就变成了video1,video2....等等这样的.这条路感觉没意思,不搞了

阿里云 Ubuntu16.04 apache2 ssl证书下载与安装(必须有域名)

阿里云申请免费SSL证书并下载(包含xxx.key|xxx._root_bundle.crt|xxx._public.crt三个文件) 用https是自己的网站收到保护,不易被攻克,所以保护自己的网站,有必要配置https协议 第一步: 检查是否配置openssl sudo a2enmod ssl 如果是: Considering dependency setenvif for ssl: Module setenvif already enabled Considering dependency

ssl证书介绍

SSL证书又称"服务器证书,https证书,CA证书,网站安全证书"等,是数字证书的一种 SSL证书产品如下:单域名DV版(保护一个具体域名)多域名OV版(可以将多个域名放在一张证书里面)通配符EV版(保护一个域名级其所有下一级的子域名)多域名通配符(功能类似将多个通配符证书合在一起) 入门型SS证书(简称DVSSL)价格经济 几分钟就可颁发 常用于个人站点 ,IOS下载等企业型SSL证书(简称OVSSL)需要3-5个工作日审核 增强型SSL证书(EVSSL)浏览器地址直接显示公司名称

就为在YouTube上下载个视频

FQ+设置浏览器例外+Freecorder+YouTuBe下载视频 用Firefox 上youtube页面显示出错 http://blog.csdn.net/syf442/article/details/8961795 用代理上youtude的页面问题 http://www.firefox.net.cn/read-32116 如何下载youtube上面的视频? http://blogunion.org/posts/how-to-download-videos-on-youtube.html 最新

免费ssl证书下载及nginx安装

因为ssl证书过期了,所以想要重新弄一个,这里看到沃通数字证书便试了下.好像还真的可以.不过要注册一个账号才能有一个一年期限的证书,不过也还不错. 这里选方式二,自己提交,不然没有.key文件,会搞得特别纠结.当然也可能是我对证书这块不了解.因为到时候弄好后给你下载的只有crt文件.目前我还不知道怎么从crt里生产个key文件或者pem文件来 既然要自己提交csr那就需要用openssl生成一个了 生成服务器私钥先 openssl genrsa -des3 -out servername.key

部署沃通SSL证书解决ios7.1的app下载问题

问题描述 最近苹果发布了IOS7.1.话说苹果每次发布都牵动开发者的心哈.苹果从ios7.1开始,用户安装app,需要使用https协议,来下载plist文件.也就说,在安装app的第一步,下载.plist文件,需要使用https协议.https协议如下: 这里不详细描述https协议.简单描述,用户使用https来下载.plist文件.则需要网站支持https协议.支持https协议,除了服务端做一些配置外,还需要申请一张服务器SSL证书,这个SSL证书必须是受信任的CA机构发的(如沃通WoS

部署SSL证书解决ios7.1的app下载问题

一.  问题描述 最近苹果发布了IOS7.1.话说苹果每次发布都牵动开发者的心哈.苹果从ios7.1开始,用户安装app,需要使用https协议,来下载plist文件.也就说,在安装app的第一步,下载.plist文件,需要使用https协议.https协议如下: 这里不详细描述https协议.简单描述,用户使用https来下载.plist文件.则需要网站支持https协议.支持https协议,除了服务端做一些配置外,还需要申请一张服务器SSL证书,这个SSL证书必须是受信任的CA机构发的(如沃

如何下载Youtube上的视频和字幕

YouTube跟国内的优酷.土豆等视频网站比起来不仅广告时间短.可以"跳过广告"播放,而且很多视频上提供了字幕,有些视频甚至提供了20多种语言的字幕.因为YouTube在国内是无法访问的,我经常会想着把一些YouTube上的视频下载下来,上传到国内的视频网站上供大家分享,但发现有个问题,YouTube上的字幕和视频是独立的,没有合成到一起,所以,下载下来的视频是不含字幕的.这当然不行的,英语无字幕的视频估计没有几个人会喜欢.那么,如何能把字幕也下载下来呢? 准备工作 浏览器,这里采用c