https请求要求验证ssl证书
1、requests.get() —— 发送请求的网站不具备ssl证书管理机构所收纳的目标证书,一般自己搭建的网站都会用自签名证书,但是自签名证书并不被认为是安全的,所以阻止请求
2、通过https连接某些管理页面(如pg、couchdb等)
1、requests.get() 情景的解决方案。试用参数"verify"来跳过ssl证书验证。
requests.get(url, verify=False)
如果有目标网站的证书的话,可以把"verify"的值指向目标证书的存储位置
例:
在requests模块中,设置了 verify=False 可以完成请求,但是会有警告信息。通过以下方式则可以忽略掉警告信息
from requests.packages import urllib3
urllib3.disable_warnings()
2、连接CouchDB的https管理页面时。有两个常用方法
方法一:使用couchdb(目前已不再维护,有需要的可以用couchdb2或者cloudant)连接CouchDB,则调用其中自带的忽略证书验证方法 —— db.resource.session.disable_ssl_verification()
db是couchdb.Server()的实例
dbServer = couchdb.Server(“https://userName:passWord@xxx:29081”)
# 通过这句来关闭证书验证
dbServer.resource.session.disable_ssl_verification()
方法二:通过ssl模块直接关闭所有连接的ssl验证
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
cloudant
couchdb2