笔者在使用Python的urllib模块的过程中遇到一个使之崩溃的异常,在尝试捕捉相关代码代码打印出了一下消息:
<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)>
原因: 在查阅相关资料后发现是该urllib模块的特性导致 「Python 升级到 2.7.9 之后引入了一个新特性,当使用urllib.urlopen打开一个 https 链接时,会验证一次 SSL 证书。而当目标网站使用的是自签名的证书时就会抛出一个 urllib2.URLError:
import ssl
ssl._create_default_https_context = ssl._create_unverified_context