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)
| 归档时间: | 
 | 
| 查看次数: | 12242 次 | 
| 最近记录: |