【python】解决[SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:1076)

搜了两种方法都没解决这个问题
先介绍下两种方法
1、在代码首部增加如下代码

import requests.packages.urllib3.util.ssl_
requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS = 'ALL'

2、重新安装requests

python -m pip install --upgrade requests[security]

最后说下自己的解决方法

    _RESTRICTED_SERVER_CIPHERS =  'ALL'
    def link_tlsv1_2(self, timeout=3600):
        self.headers = self.fix_header()
        #context = ssl._create_default_https_context()   #原先使用的方法
        context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)   #使用该方法后解决问题
        context.set_ciphers(_RESTRICTED_SERVER_CIPHERS)
        self.httpClient = http.client.HTTPSConnection(self.host, self.port, timeout=timeout, context=context)

你可能感兴趣的:(python)