在python3.7中,请求https出现urllib.error.URLError异常,导致程序报错;
异常如下:
urllib.error.URLError: urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1045)
SSL?
解决方案:
1、
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
在urllib.request.urlopen()前加上此一句话,在运行,即可;
2、
import ssl
context = ssl._create_unverified_context()
res = urllib.request.urlopen(url, data, context=context);
创建一个未经验证的上下文,在urlopen()中添加,在运行,即可
第一种方法是访问https,在浏览器中访问该网站时会弹出证书不受信任,忽略就行了 ;
第二种是创建一个未经验证的上下文。