[youtube-dl] Erreur SSL python3 (CERTIFICATE_VERIFY_FAILED)

Contexte

Si vous appuyez sur la commande youtube-dl comme suit, vous pouvez obtenir l'erreur SSL: CERTIFICATE_VERIFY_FAILED. J'écrirai la cause et la solution pour cela.

youtube-dl `url`

ERROR: Unable to download webpage: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1045)> (caused by URLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1045)')))

Apparemment, en raison d'un bogue dans pyhon3.6, le chemin du certificat peut ne pas passer. Si vous êtes intéressé par les détails du bogue, le traqueur de bogue pour python3.6 est ici.

Solution 1

Le moyen le plus simple est de communiquer via HTTP en cas d'erreur SSL. Vous pouvez télécharger sans certificat SSL en ajoutant l'option --no-check-certificate à la commande.

youtube-dl `url` --no-check-certificate

Solution 2

Après tout, certaines personnes peuvent penser qu'il est préférable de communiquer avec SSL. Le chemin du certificat ne passe pas, il vous suffit donc de le transmettre.

Un paquet appelé certifi vous dira facilement où trouver le certificat python3.6.

pip3 install --upgrade certifi

Demandez simplement le chemin avec l'interpréteur python3.

>>> import certifi
>>> certifi.where()
'/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/certifi/cacert.pem'

Maintenant que vous connaissez l'emplacement du fichier pem (certificat SSL), passez-le par le chemin.

export SSL_CERT_FILE=/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/certifi/cacert.pem

Maintenant que le chemin est passé, vous pouvez utiliser en toute sécurité la commande youtube-dl sans aucune erreur SSL. Puisqu'il s'agit d'une exportation, il peut être pratique de l'écrire en bashrc ou zshrc.

Reference

StackOverflow Certificate Verification Failure for youtube-dl

SSL certificate verify failed #4816

Recommended Posts

[youtube-dl] Erreur SSL python3 (CERTIFICATE_VERIFY_FAILED)
Gestion des erreurs Python
Erreur Python non implémentée
Erreur python d'aujourd'hui: tué
[Python] pour une erreur d'instruction
[Python] Mémorandum sur l'évitement des erreurs SQLAlchemy
Aim Python Library Master (66) youtube-dl
Que faire lorsque "SSL: CERTIFICATE_VERIFY_FAILED _ssl.c: 1056" apparaît en Python
Erreur lors de la lecture avec python
#python python évitement des erreurs de syntaxe japonaise
Vérification de la version de python de résolution d'erreur
Utilisez youtube_dl comme module python. annexe) Erreur Nico Nico Video HTTP 403
Erreur python du jour: SyntaxError Caractère non ASCII
Désactiver le protocole python2.6 ssl3 sur centos6
Résolution d'erreur Python assez bâclée
Erreur python d'aujourd'hui: l'image est vide
Détection d'erreur Python exécutée à partir de Powershell
Solution si pip donne [SSL: CERTIFICATE_VERIFY_FAILED]
Histoire d'erreur étrange et horrible de Python
[Python] Que faire lorsqu'une erreur liée à l'authentification SSL est renvoyée