La version de TLS utilisée dans le module de requêtes de python dépend du module associé.
Référence: Quelle est la version TLS par défaut du module de requêtes python
Ici, j'écrirai comment spécifier la version TLS du module de requêtes, par exemple, si vous souhaitez utiliser TLS1.0.
Créez une sous-classe de HTTPAdapter comme indiqué ci-dessous, spécifiez la version TLS et utilisez le module de requêtes. Voici un exemple de spécification de TLS1.0.
# -*- coding:utf-8 -*-
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.poolmanager import PoolManager
import ssl
#Sous-classe HTTPAdapter
class MyAdapter(HTTPAdapter):
def init_poolmanager(self, connections, maxsize, block=False):
self.poolmanager = PoolManager(num_pools=connections,
maxsize=maxsize,
block=block,
ssl_version=ssl.PROTOCOL_TLSv1)
if __name__ == '__main__':
import requests
url = 'https://xxxx.com'
s = requests.Session()
s.mount('https://', MyAdapter())
response = s.get(url)
print(response)
La méthode de description de chaque version est la suivante.
ver | notation |
---|---|
TLS1.0 | ssl.PROTOCOL_TLSv1 |
TLS1.1 | ssl.PROTOCOL_TLSv1_1 |
TLS1.2 | ssl.PROTOCOL_TLSv1_2 |
[Article associé] Quelle est la version TLS par défaut du module de requêtes python Remarque sur la façon de spécifier la version TLS avec la commande cURL, OpenSSL
[référence] Python requests SSLError: EOF occurred in violation of protocol
Recommended Posts