youtube-dl 给了我一个关于 ssl 的错误

youtube-dl gave me an error about ssl

以下是youtube-dl给我的错误。另一个工具 you-get 给了我一个类似的错误。我应该怎么做才能从 youtube 下载视频。

[~] youtube-dl -f 137 https://youtu.be/0Ef9GudbxXY

17:27:23 [youtube] 0Ef9GudbxXY: Downloading webpage ERROR: Unable to download webpage: (caused by URLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:841)'),))

这个错误表示TLS证书有问题。根据我作为 youtube-dl 开发人员的经验,典型的嫌疑人是,按可能性降序排列:

  • Censorship by your country, especially if you are located in or near China, Pakistan, or other non-democratic countries. You can use a VPN 或带桥的 TOR 以避免审查。
  • 您的公司、学校或 ISP 的审查。同样,VPN(或代理)可以避免这种情况。
  • 本地anti-malware software试图拦截连接。
  • 试图拦截连接的本地恶意软件。
  • 代理服务器现在行为异常。命令行加-v看有没有配置
  • 本地配置问题,即缺少证书存储等。这在很大程度上取决于你如何安装 youtube-dl。
  • YouTube 方面的配置问题。

无论如何,您可以通过传入--no-check-certificate来避免证书检查。但是,请注意,这将允许民族国家、ISP、schools/companies、黑客和其他(半)恶意方记录、拦截和更改您的视频流量。

注意:视频 https://youtu.be/0Ef9GudbxXY 在格式 137 中不可用。只需省略 -f 以获得最佳可用格式。

我使用 this fork 的 youtube-dl 并且它有效。