从 Python 2.7.5 连接时出现 SSLError

问题描述 投票:0回答:1

我想为安装了 Python 2.7.5 的客户端创建一个例程,该例程必须使用更新的 API,但出现以下错误:

“requests.exceptions.SSLError:[Errno 1] _ssl.c:504:错误:14077410:SSL例程:SSL23_GET_SERVER_HELLO:sslv3警报握手失败”

与SSL/TLS兼容性问题有关,但我不知道如何跳过它。虽然问题是你是否可以跳进那个版本的Python?

class http_Factory:
    def __init__(self):
        # Lee la configuración desde appsettings.json

        self.app_settings= AppConfig.get_proxy_config()

        self.proxy_url = self.app_settings.get('Url')
        self.proxy_user = self.app_settings.get('Username')
        self.proxy_password = self.app_settings.get('Password')
        
        # Configura las cabeceras (headers) comunes
        

    def make_request(self, url, method=None, params=None, data=None, headers=None):
        if data is not None:
            # Convierte el diccionario a JSON si hay datos
            data = json.dumps(data)

        if self.proxy_url and self.proxy_user and self.proxy_password:
            # Usa un proxy si se proporcionan las configuraciones
            proxies = {
                'http': 'http://{}'.format(self.proxy_url),
                'https': 'https://{}'.format(self.proxy_url),
            }
            auth = HTTPProxyAuth(self.proxy_user, self.proxy_password)
            response = requests.request(method, url, params=params, data=data, proxies=proxies, auth=auth, headers=headers)
        else:
            # Sin proxy
            response = requests.request(method, url, params=params, data=data, headers=headers, verify= False)

        return response
python ssl python-requests legacy
1个回答
0
投票

SSL 连接的成功取决于 OpenSSL 版本和 Python 版本(即与 Python 捆绑的

_ssl
扩展模块)。尝试升级其中任何一个都可以解决该问题。或者,更改某些配置选项(例如允许的协议和密码)可能会解决问题。

如果您的客户坚持使用 Python 2.7,以下是我看到的升级选项:

© www.soinside.com 2019 - 2024. All rights reserved.