如何禁用urlretrieve的SSL验证?

Vio*_*ffe 5 python urllib2

围绕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/