要使用本地证书连接到服务器,我使用以下设置:
import requests
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.util.ssl_ import create_urllib3_context
zwep_session = None
class SSLContextAdapter(HTTPAdapter):
def init_poolmanager(self, *args, **kwargs):
context = create_urllib3_context()
kwargs['ssl_context'] = context
context.load_default_certs()
return super(SSLContextAdapter, self).init_poolmanager(*args, **kwargs)
def _zwep_session():
global zwep_session
if zwep_session is None:
zwep_session = requests.Session()
zwep_session.auth = (settings.ZWEP_USER, settings.ZWEP_PASSWORD)
zwep_session.mount(settings.ZWEP_SYSTEM_HOST, SSLContextAdapter())
return zwep_session
它起作用了,我看不到回购协议有任何变化,但现在它突然不起作用了:
AttributeError: 'PyOpenSSLContext' object has no attribute 'load_default_certs'enter code here
目前正在运行:
问题中的证书是内部证书,因此应使用本地CA存储。 该代码应该同时在windows本地计算机和ubuntu VPS上运行
我的问题是:这是一个处理问题的好方法吗?我不完全理解load\u default\u certs的功能,因为我无法找到文档&;这个补丁不是我自己创造的
谢谢你的帮助
目前没有回答
相关问题 更多 >
编程相关推荐