在使用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文本