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

Requests请求持续返回407错误,更换代理仍未解决问题求助

排查Encar API请求407代理认证错误的方案

407错误本质是代理服务器要求认证但未通过,换代理后仍出现问题,可从以下几个方向逐一排查:

  • 先确认代理凭证与基础连通性
    别直接在代码里试,先用curl测试代理本身是否可用:

    curl -x http://user:pass@xx.xxx.xx.xxx:xxxx https://api.encar.com
    

    如果curl也返回407,说明代理的用户名/密码有误,或者代理IP/端口不对。另外注意凭证里的特殊字符(比如@、:、%)需要URL编码,比如@换成%40,:换成%3A,否则会被URL解析器误判。

  • 检查代理协议配置是否匹配
    你代码里HTTPS请求用的是HTTP代理地址,部分代理服务商要求HTTPS请求对应HTTPS代理协议。试试把proxies改成:

    proxies = {
        'https': 'https://user:pass@xx.xxx.xx.xxx:xxxx'
    }
    

    同时确认代理服务器支持HTTPS流量转发,有些廉价代理只支持HTTP。

  • 换用手动代理认证方式
    requests直接把凭证写在代理URL里偶尔会有解析bug,试试用HTTPProxyAuth手动传入认证信息:

    import requests
    from requests.auth import HTTPProxyAuth
    
    proxies = {
        'https': 'http://xx.xxx.xx.xxx:xxxx'
    }
    proxy_auth = HTTPProxyAuth('user', 'pass')
    url = 'https://api.encar.com/search/car/list/mobile?count=true&q=(And.Hidden.N._.(C.CarType.N._.Manufacturer.%EB%A7%88%EC%AF%94%EB%8B%A4.))&sr=%7CModifiedDate%7C0%7C200&inav=%7CMetadata%7CSort'
    response = requests.get(url, proxies=proxies, auth=proxy_auth)
    print(response.status_code)
    
  • 排查代理是否被目标站点限制
    若代理本身能正常访问其他HTTPS站点,但访问Encar仍407,可能这个代理IP已经被Encar的反爬系统标记,导致代理层虽然认证通过,但目标站点拒绝路由。换一个全新的代理IP试试,或者用代理访问Encar官网确认是否能正常加载。

  • 更新requests库并检查网络环境
    旧版本requests可能存在代理认证的兼容问题,执行pip install --upgrade requests更新到最新版。另外检查你的服务器到代理端口的连通性,用nc -zv xx.xxx.xx.xxx xxxx测试端口是否开放,部分代理会限制来源IP白名单,确认你的服务器IP在白名单内。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 13:26:21