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

Python requests配置HTTP代理仍泄露真实IP 换HTTPS代理报连接错误如何解决

问题根源

  • 代理配置规则不匹配:requests的proxies参数是按目标请求的协议匹配代理规则的,你请求的目标是HTTPS协议,但仅配置了http协议的代理规则,requests匹配不到对应规则就会直接直连目标站点,导致真实IP泄露。
  • HTTPS代理配置错误:你直接将代理前缀改为https://后报错,大概率是你的代理本身是HTTP类型代理,不支持HTTPS协议接入代理节点,所以会出现连接超时错误。

解决步骤

1. 修正代理配置结构

普通HTTP代理本身就支持通过CONNECT隧道转发HTTPS请求,无需修改代理前缀,只需要在proxies字典中同时配置http和https两个规则即可,修改后的proxies方法如下:

def proxies(self):
    self.randomProxy = random.choice(self.proxyList)
    return {
        "http": f"http://{self.randomProxy}",
        "https": f"http://{self.randomProxy}"
    }

修改后再次测试,即可看到请求已经走代理转发,不会泄露真实IP。

2. 若确实使用HTTPS代理的处理方案

如果你的代理服务商明确要求使用HTTPS协议接入代理节点,请按以下方式调整:

  • 确认代理地址的端口为HTTPS代理专属端口,代理前缀改为https://
  • 若代理使用自签名SSL证书,需要在请求时添加verify=False参数忽略证书校验,或指定证书路径:
r = requests.get('https://api.shitchell.com/headers', proxies=proxy, verify=False, timeout=10)

注意:忽略证书校验会有安全风险,仅建议测试环境使用

3. 额外校验项

  • 确认你使用的代理为高匿代理:透明代理和普通匿名代理仍会在请求头中携带你的真实IP,只有高匿代理不会泄露原始请求IP。
  • 可添加超时参数避免请求长时间挂死,代理可用性较差的情况下可添加重试逻辑提升成功率。

修改后完整可运行代码

import random
import requests
import urllib3
# 忽略verify=False带来的告警
urllib3.disable_warnings()

class main():
    with open('external/proxies.txt', 'r') as proxyFile:
        proxyList = [proxyIp.strip() for line in proxyFile.readlines() for proxyIp in line.split(',') if proxyIp]

    def proxies(self):
        self.randomProxy = random.choice(self.proxyList)
        return {
            "http": f"http://{self.randomProxy}",
            "https": f"http://{self.randomProxy}"
            # 如果是HTTPS代理则替换为下面的配置
            # "http": f"https://{self.randomProxy}",
            # "https": f"https://{self.randomProxy}"
        }

    def req(self):
        proxy = self.proxies()
        r = requests.get(
            'https://api.shitchell.com/headers', 
            proxies=proxy, 
            timeout=10,
            # HTTPS代理若报证书错误可加下面的参数
            # verify=False
        )
        print('prox: ', proxy)
        print('resp: ', r.text)

if __name__ == "__main__":
    main().req()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 00:24:05