youtube-dlを使用している際に、以下のようなSSL証明書の検証エラーが発生することがあります。
WARNING: Could not send HEAD request to https://www.nicovideo.jp/watch/sm25733270: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)>
[generic] sm25733270: Downloading webpage
ERROR: Unable to download webpage: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)> (caused by URLError(SSLError(1, u'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)'),))
このエラーに対処する方法について紹介します。
エラーの原因
このエラーは、SSL証明書の検証に失敗した場合に発生します。これは、サーバーのSSL証明書が有効でない、自己署名証明書を使用している、またはローカルの証明書ストアが正しく設定されていない場合に発生することがあります。
対処方法
-
—no-check-certificateオプションを使用する
SSL証明書の検証を無視する方法です。この方法は一時的な対処法として有効ですが、セキュリティリスクが伴うため、慎重に使用してください。
youtube-dl --no-check-certificate <動画URL> -
システムの証明書ストアを更新する
ローカルの証明書ストアが古くなっている場合、最新の証明書に更新することでエラーを解消できることがあります。具体的な手順は使用しているOSによって異なります。
- Windows: Windows Updateを実行して最新の証明書を取得します。
- macOS: システムの証明書ストアを更新するために、
sudo softwareupdate --install-rosettaコマンドを実行します。 - Linux: 使用しているディストリビューションのパッケージマネージャを使用して、ca-certificatesパッケージを更新します。
-
特定の証明書を手動でインストールする
信頼できる特定の証明書を手動でインストールすることで、エラーを回避することができます。具体的な手順は証明書の種類やインストールする環境によって異なります。
参考リンク
より詳細な情報や他の対処方法については、GitHubの関連スレッドも参照してください。