Die im Anforderungsmodul von Python verwendete TLS-Version hängt vom zugehörigen Modul ab.
Referenz: Was ist die Standard-TLS-Version des Python-Anforderungsmoduls
Hier werde ich schreiben, wie die TLS-Version des Anforderungsmoduls angegeben wird, beispielsweise wenn Sie TLS1.0 verwenden möchten.
Erstellen Sie eine Unterklasse von HTTPAdapter wie unten gezeigt, geben Sie die TLS-Version an und verwenden Sie das Anforderungsmodul. Das Folgende ist ein Beispiel für die Angabe von TLS1.0.
# -*- coding:utf-8 -*-
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.poolmanager import PoolManager
import ssl
#HTTPAdapter-Unterklasse
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)
Die Beschreibungsmethode jeder Version ist wie folgt.
ver | Notation |
---|---|
TLS1.0 | ssl.PROTOCOL_TLSv1 |
TLS1.1 | ssl.PROTOCOL_TLSv1_1 |
TLS1.2 | ssl.PROTOCOL_TLSv1_2 |
[Verwandter Artikel] Was ist die Standard-TLS-Version des Python-Anforderungsmoduls Hinweis zum Angeben der TLS-Version mit dem Befehl cURL, OpenSSL
[Referenz] Python requests SSLError: EOF occurred in violation of protocol
Recommended Posts