【Python+requests】解决Python requests中的ProxyError:SSL版本错误问题详解

解决Python requests中的ProxyError:SSL版本错误问题详解

在使用Python进行网络请求时,很多人都会用到requests库配合代理服务器进行调试或抓包。但有时会遇到令人困惑的ProxyError,尤其是伴随SSLError: [SSL: WRONG_VERSION_NUMBER]这样的错误。本文将详细解释该错误的成因,并提供清晰的解决方案,帮助你快速恢复开发节奏。


🧠 思维导图:问题分析与解决路径

遇到ProxyError + SSLError 错误原因分析 代理协议配置错误 将HTTPS代理改为HTTP协议 问题解决


❓ 为什么会报这个错?

错误信息示例:

python 复制代码
ProxyError: Unable to connect to proxy. Your proxy appears to only use HTTP and not HTTPS...
SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1007)

根本原因:

你配置的代理服务器(如Charles、Fiddler、mitmproxy等)只支持HTTP协议 ,而不支持HTTPS协议。但在代码中,你却将HTTPS代理指向了https://127.0.0.1:8888,导致requests库尝试用HTTPS与代理服务器握手,而代理返回的却是HTTP响应,从而触发SSL协议版本不一致的错误。


✅ 解决办法:修改代理配置

你只需要将代理配置中的https键对应的值从https://...改为http://...即可。

示例代码对比:

状态 代码示例
❌ 错误配置 proxies = { "http": "http://127.0.0.1:8888", "https": "https://127.0.0.1:8888" }
✅ 正确配置 proxies = { "http": "http://127.0.0.1:8888", "https": "http://127.0.0.1:8888" }

🤔 为什么要把https改成http

这是一个非常常见的困惑。关键在于理解:

代理URL中的协议是指与代理服务器通信所使用的协议,而不是你要访问的目标网站的协议。

举个例子:

情景 协议
你要访问的网站 https://httpbin.org
你的代理服务器(如Charles) 127.0.0.1:8888(仅支持HTTP)
你应该写的代理配置 http://127.0.0.1:8888

也就是说,无论目标网站是HTTP还是HTTPS,只要代理服务器本身是通过HTTP暴露的,你就应该使用http://来连接代理。


📋 总结表格:代理配置指南

配置项 含义 示例 是否推荐
http://127.0.0.1:8888 使用HTTP协议连接代理 ✅ 正确
https://127.0.0.1:8888 使用HTTPS协议连接代理 ❌ 错误 否,除非代理支持HTTPS

🛠 验证方法

你可以在终端中使用curl命令测试代理是否工作:

bash 复制代码
curl -x http://127.0.0.1:8888 https://httpbin.example.com/get

如果代理配置正确,该命令应能正常返回结果,并在抓包工具中看到请求记录。


💡 一句话总结

将代理配置中的 https://127.0.0.1:8888 改为 http://127.0.0.1:8888 即可解决该问题。


希望这篇文章能帮你彻底理解并解决ProxyErrorSSLError相关的问题。如果你也遇到过类似的网络代理问题,欢迎在评论区分享你的经验!


延伸阅读

相关推荐
用什么都重名1 小时前
不同版本tensorflow推理报错解决方法
人工智能·python·tensorflow·librosa
reasonsummer1 小时前
【办公类-109-05】20250923插班生圆牌卡片改良01:一人2个圆牌(接送卡&被子卡&床卡&入园卡_word编辑单面)
人工智能·python·sklearn
开开心心就好2 小时前
PDF清晰度提升工具,让模糊文档变清晰
java·服务器·前端·python·智能手机·pdf·ocr
yzx9910132 小时前
对比django,flask,opencv三大
人工智能·后端·python·django·flask
2024暴富2 小时前
Http升级Https使用Certbot申请证书并免费续期
http·阿里云·https·ssl
码界筑梦坊2 小时前
194-基于Python的脑肿瘤患者数据分析可视化
开发语言·python·数据分析·sqlite·毕业设计·echarts·fastapi
阿幸软件杂货间2 小时前
使用Python一站式提取Word、Excel、PDF 和PPT文档内容v1.0
python·word·excel
_nirvana_w_2 小时前
PyQt6+OpenCV 实战:打造功能完备的数字图像处理 GUI 系统
人工智能·python·qt·opencv·计算机视觉
hrrrrb2 小时前
【Python】迭代器
开发语言·python
Q_Q5110082853 小时前
python+springboot+django/flask的医院食堂订餐系统 菜单发布 在线订餐 餐品管理与订单统计系统
spring boot·python·django·flask·node.js·php