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

使用webshare.io代理遇urllib3 [Errno 65]错误,求排查及用法验证

使用Webshare代理时出现连接错误的问题排查

问题描述

我尝试使用Webshare的代理,但持续出现错误。我的代码如下:

def extract(proxy):
    global pcount
    # ua is fake user-agent
    headers={'User-Agent': ua.chrome}
    auth = HTTPProxyAuth("******", "**********")
    r = requests.get('https://www.url.com', headers=headers, proxies={'http':"http://" + str(proxy)},auth=auth, timeout=2)
    print(r.status_code)
   
    return proxy

extract('185.*.*.*:7492')

出现的错误信息为:

Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x10b0e64c0>: Failed to establish a new connection: [Errno 65] No route to host')

我是首次使用带认证的代理,请问问题出在哪里?我的用法是否正确?


问题排查与修正方案

1. 核心配置错误

你的代码存在两个关键问题:

  • 代理协议不匹配:目标站点是HTTPS,但你仅配置了http类型的代理,requests会尝试用HTTP代理处理HTTPS请求,导致连接逻辑混乱。
  • 认证方式错误:Webshare代理的认证信息需要直接嵌入代理URL,无需单独使用HTTPProxyAuth对象,这种写法会导致认证失败。

2. 修正后的代码

def extract(proxy):
    global pcount
    # ua 是伪造的User-Agent
    headers={'User-Agent': ua.chrome}
    # 将认证信息直接拼接进代理URL
    proxy_url = f"http://你的用户名:你的密码@{proxy}"
    # 同时配置http和https代理,保证协议匹配
    proxies = {
        'http': proxy_url,
        'https': proxy_url
    }
    r = requests.get('https://www.url.com', headers=headers, proxies=proxies, timeout=2)
    print(r.status_code)
    return proxy

extract('185.*.*.*:7492')

3. 额外排查点

  • 检查Webshare后台是否添加了你的本地IP到代理白名单,未添加的话代理服务器会直接拒绝连接。
  • 用curl测试代理可用性:
    curl -x http://你的用户名:你的密码@185.*.*.*:7492 https://www.url.com -I
    
  • 排查本地防火墙或VPN是否拦截了代理连接,Errno 65通常表示本地无法路由到代理服务器,可能是网络层面的限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 13:05:28