salt-api https證書報錯解決方法

錯誤以下:python


問題的緣由是「SSL: CERTIFICATE_VERIFY_FAILED」。web

Python 升級到 2.7.9 以後引入了一個新特性,當使用urllib.urlopen打開一個 https 連接時,會驗證一次 SSL 證書。
而當目標網站使用的是自簽名的證書時就會拋出一個 urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed> 的錯誤消息,詳細信息能夠在這裏查看(https://www.python.org/dev/peps/pep-0476/)。網站

解決方案包括下列兩種方式:url

1. 使用ssl建立未經驗證的上下文,在urlopen中傳入上下文參數spa

import ssl
import urllib2

context = ssl._create_unverified_context()
print urllib2.urlopen("https://www.12306.cn/mormhweb/", context=context).read()12345

2. 全局取消證書驗證code

import ssl
import urllib2
 
ssl._create_default_https_context = ssl._create_unverified_context 
print urllib2.urlopen("https://www.12306.cn/mormhweb/").read()123456
相關文章
相關標籤/搜索