Python 2.7.6 TLSv1.2 в запросах

Я использую python версии 2.7.6, и мне нужно сделать запрос с помощью TLSv1.2. Я пробовал примерно так указать версию tls:

class SslAdapter():
def init_poolmanager(self, connections, maxsize, block=False):
    self.poolmanager = PoolManager(num_pools=connections,
                                   maxsize=maxsize,
                                   block=block,
                                   ssl_version=ssl.PROTOCOL_TLSv1_2)
s=requests.Session() 
s.mount('https://', SslAdapter())
s.get('https://google.com',verify=False)

Но в отладчике я вижу, что версия TLS в запросе - TLSv1.0. Подскажите, как правильно указать версию TLS? Спасибо.


person alexdeplot    schedule 10.02.2016    source источник


Ответы (1)


Я предполагаю, что вы столкнулись с

AttributeError: 'module' object has no attribute 'PROTOCOL_TLSv1_2'

Это потому, что TLSv1_2 не был добавлен до 2.7.9. Вы можете использовать backports.ssl. После того, как вы его установили, замените

import ssl

с участием

import backports.ssl as ssl
person crunk1    schedule 02.03.2016
comment
@Tommy Вы смогли найти какое-нибудь решение? - person Ayushi Dalmia; 17.05.2018