在使用urllib2访问一个自签名的https链接时,对于python2.6以下版本,TLS握手期间是不会检查服务器X509的证书签名是否是CA的可信任根证书。不过python2.7以后改变了这种情况,因此在用python2.7时,可能会出现urllib2的SSL:CERTIFICATE_VERIFY_FAILED(证书认证失败)的错误。
怎么解决这个错误呢?加如下两行代码即可:
import ssl
ssl._create_default_https_context = ssl._create_unverified_context #创建默认不认证的https文本