独自アダプタを適用すればいけるかと。
python
1import requests
2from requests.adapters import HTTPAdapter
3from urllib3.poolmanager import PoolManager
4import ssl
5
6
7class HTTPTLSv12Adapter(HTTPAdapter):
8
9 def init_poolmanager(self, connections, maxsize, block=False):
10 self.poolmanager = PoolManager(num_pools=connections, maxsize=maxsize, block=block, ssl_version=ssl.PROTOCOL_TLSv1_2) # TLS1.2を使用
11
12
13if __name__ == '__main__':
14
15 url = "https://www.howsmyssl.com/a/check"
16
17 s = requests.Session()
18 response = s.get(url)
19 print(response.json()['tls_version'])
20 # TLS 1.3
21
22 s.mount('https://', HTTPTLSv12Adapter()) # https://で始まる通信はHTTPTLSv12Adapterを通して行う
23 response = s.get(url)
24 print(response.json()['tls_version'])
25 # TLS 1.2