You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python发送GET请求遇SSL版本错误及代理问题求助

解决Python requests通过HTTP代理访问HTTPS站点的SSL版本错误问题

问题根源

你的代理仅支持HTTP协议,但Python的requests库默认会对HTTPS目标站点使用HTTPS协议连接代理,导致协议不匹配,触发[SSL: WRONG_VERSION_NUMBER]错误。而Postman和Golang会自动通过HTTP代理建立CONNECT隧道来转发HTTPS流量,因此能正常请求。verify=False是用于跳过SSL证书验证的,和当前代理协议不匹配的问题无关,所以无效。

解决方案

1. 显式配置代理参数

不管目标站点是HTTPS,代理地址必须使用HTTP协议格式,同时在proxies字典中为http和https都指定这个HTTP代理。这样requests会通过HTTP代理建立CONNECT隧道,安全转发HTTPS流量。

2. 修改后的完整代码

import requests

url = "https://stat.gov.kz/important/classifier"

payload = {}
headers = {
    'Content-Type': 'application/json; charset=utf-8',
    'Cookie': 'cookiesession1=678B774D30541450DAF79D7FA70C889F'
}

# 替换为你的实际HTTP代理地址和端口
proxies = {
    'http': 'http://your-proxy-ip:proxy-port',
    'https': 'http://your-proxy-ip:proxy-port'
}

# 若代理需要认证,格式为 http://username:password@proxy-ip:port
# proxies = {
#     'http': 'http://user:pass@your-proxy-ip:proxy-port',
#     'https': 'http://user:pass@your-proxy-ip:proxy-port'
# }

response = requests.request("GET", url, headers=headers, data=payload, proxies=proxies)

print(response.text)

3. 额外注意事项

  • 若系统环境变量中设置了HTTP_PROXY或HTTPS_PROXY,可能会和代码中的代理配置冲突,可通过以下代码临时清除:
    import os
    os.environ.pop('HTTP_PROXY', None)
    os.environ.pop('HTTPS_PROXY', None)
    

内容的提问来源于stack exchange,提问作者user18604394

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 21:31:01