Jav*_*uez 5 python ssl request python-requests
我正在使用python的请求库,我有一个小问题:我正在连接到一个rest api,在几天内,这个服务将删除SSL连接,所以我只能通过TLS连接.
有人知道请求是否允许TLS连接以及如何启用它?
请求使用Python标准库ssl模块 - 这支持各种版本的SSL和TLS.您可以通过创建HTTPAdapter自定义创建的PoolManager实例来告知请求使用特定协议(如TLSv1).
我不得不做这样的事情,但是被我们通过代理进行的事实所困扰 - 在这种情况下,该init_poolmanager方法不会被调用,因为它使用的是ProxyManager代替.我用过这个:
class ForceTLSV1Adapter(adapters.HTTPAdapter):
"""Require TLSv1 for the connection"""
def init_poolmanager(self, connections, maxsize, block=False):
# This method gets called when there's no proxy.
self.poolmanager = poolmanager.PoolManager(
num_pools=connections,
maxsize=maxsize,
block=block,
ssl_version=ssl.PROTOCOL_TLSv1,
)
def proxy_manager_for(self, proxy, **proxy_kwargs):
# This method is called when there is a proxy.
proxy_kwargs['ssl_version'] = ssl.PROTOCOL_TLSv1
return super(ForceTLSV1Adapter, self).proxy_manager_for(proxy, **proxy_kwargs)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12242 次 |
| 最近记录: |