在使用python发起urlopen的时候会经常出现:
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)>
类型的错误
可能原因分析:
Python 2.7.9 之后引入了一个新特性 当你urllib.urlopen一个 https 的时候会验证一次 SSL 证书 当目标使用的是自签名的证书时就会爆出一个 urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)> 的错误消息
处理办法如下:
在自己的py文件里面加入以下代码即可完美解决
import ssl
# This restores the same behavior as before.
context = ssl._create_unverified_context()
response = urllib.request.urlopen("https://no-valid-cert", context=context)
如果你和我有共同爱好,我们可以加个好友一起交流!