You need to enable JavaScript to run this app. Python使用requests配置代理访问网站不生效,仍通过本机IP连接
优惠活动
大模型
产品
解决方案
定价
更多

Python使用requests配置代理访问网站不生效,仍通过本机IP连接

requests 配置代理后未实际生效的排查与修正方法
  • 最核心的代码配置错误:协议匹配不对应
    requests 的代理匹配逻辑为严格根据请求URL的协议前缀匹配代理项:请求HTTP开头的地址时,仅读取proxies["http"]的配置;请求HTTPS开头的地址时,仅读取proxies["https"]的配置,不会跨协议自动复用代理规则。
    你提供的测试代码中,请求地址为http://httpbin.org/ip(HTTP协议),但proxies字典内仅配置了https键的代理地址,找不到匹配项时requests会直接走本机网络发起请求,不会自动复用HTTPS的代理配置。
    修正后的基础配置格式:
    proxies = {
        "http": "103.224.5.5:54143",
        "https": "103.224.5.5:54143"
    }
    
  • 其他常见踩坑点
    • 若代理需要账号密码鉴权,配置项必须补充完整鉴权格式:"http": "http://[代理账号]:[代理密码]@103.224.5.5:54143",仅填写IP+端口会因鉴权校验失败,最终请求自动 fallback 到本机直连。
    • 若系统或当前shell环境中预先设置了HTTP_PROXY、HTTPS_PROXY类全局代理环境变量,requests 默认会优先读取环境变量中的代理配置,和代码内的本地配置产生冲突。可在发起请求时添加trust_env=False参数,强制忽略系统环境变量的代理规则,仅读取代码中手动传入的代理配置:
      r = requests.get(url, proxies=proxies, trust_env=False)
      
  • 前置排查项
    完成代码修正后若仍存在代理不生效的问题,可先手动验证代理本身的连通性:确认代理服务处于正常运行状态、服务器端口可正常连通、本机出口IP已经被加入代理的访问白名单,排除代理本身故障导致的请求直连。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.23 23:06:07