(已解决)Python(couchdb) —— ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。

ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。

  • 原因
  • 出现场景
  • 解决办法
  • couchdb2、cloudant地址

 
 
 
 
 
 
 
 

原因

https请求要求验证ssl证书

 
 
 
 

出现场景

1、requests.get() —— 发送请求的网站不具备ssl证书管理机构所收纳的目标证书,一般自己搭建的网站都会用自签名证书,但是自签名证书并不被认为是安全的,所以阻止请求

2、通过https连接某些管理页面(如pg、couchdb等)

 
 
 
 

解决办法

1、requests.get() 情景的解决方案。试用参数"verify"来跳过ssl证书验证。

requests.get(url, verify=False)

如果有目标网站的证书的话,可以把"verify"的值指向目标证书的存储位置

 

例:

不添加 verify 参数,无法通过ssl的验证
在这里插入图片描述

添加后可以通过
(已解决)Python(couchdb) —— ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。_第1张图片

 

在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

 
 
 
 

couchdb2、cloudant地址

cloudant
couchdb2

你可能感兴趣的:(python)