Python请求-使用TLS v.1_3

时间:2019-08-21 21:43:13

标签: python ssl python-requests

我正在尝试使用TLS 1.3在Python中发出请求,因为该网站接受该请求。 我使用以下代码:

import requests
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.poolmanager import PoolManager
from requests.packages.urllib3.util import ssl_

CIPHERS = (
    'AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:AES256-SHA'
)


class TlsAdapter(HTTPAdapter):

    def __init__(self, ssl_options=0, **kwargs):
        self.ssl_options = ssl_options
        super(TlsAdapter, self).__init__(**kwargs)

    def init_poolmanager(self, *pool_args, **pool_kwargs):
        ctx = ssl_.create_urllib3_context(ciphers=CIPHERS, cert_reqs=ssl.CERT_REQUIRED, options=self.ssl_options)
        self.poolmanager = PoolManager(*pool_args,
                                       ssl_context=ctx,
                                       **pool_kwargs)


sess = requests.session()
adp = TlsAdapter(ssl.OP_NO_TLSv1_3 | ssl.OP_NO_TLSv1_3)
sess.mount("https://", adapter)

直到这里一切都很好。我开始使用它发送ecc请求,但出于好奇,我更深入地检查并使用了Wireshark。在这里它说请求超过1.2,而不是1.3。

有人可以帮助我实际执行1.3,而不是1.2吗?将不胜感激。谢谢。

0 个答案:

没有答案