33 lines
864 B
Python
33 lines
864 B
Python
# encoding: utf-8
|
|
#
|
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
|
|
from __future__ import unicode_literals, absolute_import, division
|
|
|
|
import requests
|
|
|
|
import ssl
|
|
from requests.adapters import HTTPAdapter
|
|
from requests.packages.urllib3.poolmanager import PoolManager
|
|
|
|
class CustomAdapter(HTTPAdapter, object):
|
|
try:
|
|
ctx = ssl.create_default_context()
|
|
ctx.set_ciphers('DEFAULT@SECLEVEL=1')
|
|
|
|
def init_poolmanager(self, connections, maxsize, block=False):
|
|
self.poolmanager = PoolManager(
|
|
num_pools=connections,
|
|
maxsize=maxsize,
|
|
block=block,
|
|
ssl_version=ssl.PROTOCOL_TLS,
|
|
ssl_context=self.ctx
|
|
)
|
|
except:
|
|
pass
|
|
|
|
class MySession(requests.Session, object):
|
|
def __init__(self, *args, **kwargs):
|
|
super(MySession, self).__init__(*args, **kwargs)
|
|
self.mount('https://', CustomAdapter())
|