Python 使用请求时错误的 SSL 版本

标签 python

自从我在新电脑上安装了 python 以来,我一直在努力解决这个问题。 基本上,我有 https 请求:

import requests
import ssl

proxies = {
    'https': "https://myproxyhere"
}

r = requests.get('https://example.com', proxies=proxies, timeout=10)     
print(r.text)

在另一台电脑上工作正常,但在这台电脑上却出现错误:

```(Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1122)')))```

我安装了 openssl 1.1.1h,并且 python 3.9 具有 openssl 版本 1.1.1g。但是,我将 openssl 降级为 1.1.1g,但错误仍然存​​在,我无法使用代理执行 SSL 请求。

请记住,代理不是原因,因为我有完全相同的代码片段在我的另一台笔记本电脑上运行良好,但是我购买了 Windows Surface Pro,当我进行全新安装时,我无法使这项工作。到目前为止,我已经尝试了所有方法,尝试了其他版本的 openssl 和 python。

有人知道如何解决这个问题吗?

完整错误回溯:

Traceback (most recent call last):
  File "C:\Users\gonca\Desktop\debug.py", line 9, in <module>
    r = requests.get('https://example.com', proxies=proxies, timeout=10)
  File "C:\Users\gonca\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\api.py", line 76, in get
    return request('get', url, params=params, **kwargs)
  File "C:\Users\gonca\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "C:\Users\gonca\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Users\gonca\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "C:\Users\gonca\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\adapters.py", line 514, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='example.com', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1122)')))

编辑: 对于遇到此错误的人,解决方案是降级请求模块,它已被窃听。

最佳答案

requests-2.25.1 中存在错误。我必须降级到2.24.0

pip install requests==2.24.0 

关于Python 使用请求时错误的 SSL 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65015195/

相关文章:

python - 为查询集的下标元素赋值不起作用

python - 相当于Python中的结构体成员(主要用于文档和阅读代码)

python - 运行数小时后永久 'Temporary failure in name resolution'

"derived fields"/"class attributes from calculations"的 Python 范例

python - 在 numpy 中寻找最小跳跃过零点

Python 正则表达式 "and not"

python - 如何比较 python 自定义类中 None 对象的相等性?

Python:在 elif 条件下循环

Python:在基类init中调用重写的基类方法

python - 网页抓取无法获取所有表格