围绕SO提出了类似的问题,但是解决方案是针对的urlopen。该函数采用一个可选context参数,该参数可以接受预配置的SSL上下文。urlretrieve没有此参数。如何在接下来的通话中绕过SSL验证错误?
urllib.request.urlretrieve(
"http://sourceforge.net/projects/libjpeg-turbo/files/1.3.1/libjpeg-turbo-1.3.1.tar.gz/download",
destFolder+"/libjpeg-turbo.tar.gz")
Run Code Online (Sandbox Code Playgroud)
小智 5
该解决方案对我来说效果很好:在调用库之前,请定义默认的SSL上下文:
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
# urllib.request.urlretrieve(...)
Run Code Online (Sandbox Code Playgroud)
资料来源:http : //thomas-cokelaer.info/blog/2016/01/python-certificate-verified-failed/