跳到正文

代理经常断线掉线怎么办:先分清三种情况

代理反复断线的三个常见原因,以及按最快定位的顺序做的检查。

最常见的三个原因

1. 会话或轮换到期。不开会话时,动态住宅和动态机房的每个新连接都会换一个 IP,复用的连接则保持 IP 不变。低价线路的会话时长可在 1–120 分钟里任选;优质线路在持续使用时通常是同一个 IP,空闲后可能会换,要长时间用同一个 IP 请选静态;动态机房约 10 分钟内保持同一个 IP,空闲约 60 秒后会换。对你来说这像是断线,其实代理是正常的。

2. 工具超时,或复用了已经死掉的连接。Python Requests 不设 timeout 就不会超时,也默认不重试失败的连接,请求可能卡上好几分钟。Session 内的 keep-alive 会复用同一个连接,如果这个连接在路上被关了,下一个请求就会失败,直到连接被换掉。链路上的任何设备都可能关闭长时间空闲的连接。

3. 你这边把链路切断了。同时开着 VPN 或第二个代理软件、系统代理指向别处、笔记本或手机让 Wi-Fi 休眠、路由器重置长连接,都会让一个代理端仍认为开着的连接结束。

报错名称与通常的方向

报错名称与通常的方向
项目Chromium 的说明通常指向
ERR_CONNECTION_RESET连接被重置(TCP RST)链路上有东西把它结束了:会话结束、本机 VPN 或防火墙、链路中断
ERR_CONNECTION_CLOSED连接被关闭(TCP FIN)一方正常关闭:空闲关闭、会话结束或目标网站
ERR_TIMED_OUT / ERR_CONNECTION_TIMED_OUT操作或连接尝试超时没有在时限内得到回应:地址或端口错误、链路被拦、连接卡住
ERR_TUNNEL_CONNECTION_FAILED无法通过代理建立隧道连上了代理,但没能通过它打开目标:检查账号密码和目标地址
ERR_PROXY_CONNECTION_FAILED解析或连接代理服务器本身失败地址、端口、本机网络或系统代理;见「连接失败」指南

说明来自 Chromium 网络错误列表,2026 年 11 月 14 日读取。右列是实用判断,不属于该列表。

第 1 步:按这个顺序检查

  1. 第 1 步:区分断线和换 IP

    每次出问题时,通过代理打开 https://ipinfo.io/json,记下 ip、时间和确切的报错文字。IP 变了但没报错,是轮换或会话结束;报错但 IP 没变,才是真断线。

  2. 第 2 步:看会话类型

    如果用的是动态线路,确认有没有开会话、开了多久。工作需要一个 IP 用上几个小时,就换成静态。

  3. 第 3 步:设置超时和重试

    给工具设连接超时和总超时,再加少量重试。curl 和 Python 的写法见下面的代码示例。

  4. 第 4 步:核对地址、端口、协议和账号密码

    从「我的资产」重新复制 HOST、PORT、USERNAME、PASSWORD。HTTP 用 2222 端口,SOCKS5 用 3333 端口,工具里选的协议要和这个 IP 发放时的协议一致。

  5. 第 5 步:排除你自己的网络

    关掉 VPN 和其他代理软件,检查系统代理设置,不让设备让 Wi-Fi 休眠,然后换一个网络或设备测同一个代理。只在其中一个上断,问题就在本地。

  6. 第 6 步:带证据提工单

    还是断,就把订单号、出口 IP、确切报错和第 1 步记下的时间发过来,并说明测过哪些网络。

超时与重试:curl

# 10 s to connect, 30 s per transfer, 3 retries
curl --connect-timeout 10 --max-time 30 --retry 3 \
  -x http://LOGIN:PASSWORD@HOST:PORT https://ipinfo.io/json

仅为示例:把 LOGIN、PASSWORD、HOST、PORT 换成你自己的值。

超时与重试:Python requests

import requests
from requests.adapters import HTTPAdapter
from urllib3.util import Retry

proxy = "http://LOGIN:PASSWORD@HOST:PORT"
s = requests.Session()
s.proxies = {"http": proxy, "https": proxy}
s.mount("https://", HTTPAdapter(max_retries=Retry(total=3, backoff_factor=0.5)))
print(s.get("https://ipinfo.io/json", timeout=(10, 30)).json()["ip"])

仅为示例:把占位符换成你自己的值。环境变量代理可能覆盖 session.proxies,代理像是没生效时先取消这些环境变量。

按现象排查

用几分钟就好,之后所有请求都失败

检查 是不是会话或空闲时限导致的?新开一个连接能马上用吗?

处理 新开连接,把超时设短一些以便更早发现死连接,会话结束后重新开。

停止条件 新连接也失败,转第 4、5 步。

每次断线后 IP 都不同

检查 你是不是在没开会话的动态线路上?

处理 低价线路开会话,或者需要同一个地址时买静态住宅 ISP。

停止条件 租期内静态 IP 变了,应该提工单,而不是重试。

只有一个软件断线,其他正常

检查 这个软件用的是自己的代理设置,还是系统代理?协议和 IP 的协议一致吗?

处理 在这个软件里明确设置代理,并用上面的 curl 命令对照测试。

停止条件 curl 正常而软件不行就停:原因在软件自身设置。

在 Proxy302 怎么对应

静态住宅 ISP 按 IP 租用,租期内固定,1 天 US$0.50 到 30 天 US$7.99,所以重连拿到的还是同一个地址。动态住宅在不开会话时每个新连接换一个 IP。动态机房 US$0.40/GB,只有美国出口。最小购买量是 1 个 IP 租 1 天,没有免费试用。

常见问题

代理为什么老是断线?

最常见的是会话或轮换到期、工具在死连接上超时,或者你这边的 VPN、第二个代理软件把链路切了。每次都记下出口 IP 和确切报错,就能分清。

IP 变了算不算断线?

不算。动态线路上,不开会话时新连接换 IP 是设计如此。真断线会有报错,IP 通常不变。

超时应该设多少?

没有唯一正确的值。示例里连接超时 10 秒、总超时 30 秒、再加几次重试是个合理的起点;只有大文件下载时才需要把总超时调大。

静态 IP 掉线会更少吗?

静态住宅 ISP 在租期内地址不变,重连不会换 IP。但连接仍可能被你自己的网络切断,所以上面的检查依然适用。

参考资料

4
  1. Chromium 源码:网络错误列表(net_error_list.h)

    官方文档 · 确认日期:

    2026 年 11 月 14 日读到:CONNECTION_RESET 是连接被重置(TCP RST),CONNECTION_CLOSED 是连接被关闭(TCP FIN),CONNECTION_TIMED_OUT 是连接尝试超时,TIMED_OUT 是操作超时,TUNNEL_CONNECTION_FAILED 是无法通过代理建立隧道,PROXY_CONNECTION_FAILED 是解析或连接代理服务器本身失败。

  2. Requests 文档:高级用法

    官方文档 · 确认日期:

    2026 年 11 月 14 日读到:默认情况下不设 timeout 就不会超时;timeout 可以是单个值或 (连接, 读取) 元组;Requests 默认不重试失败的连接,可以通过 HTTPAdapter 搭配 urllib3 的 Retry 加上重试;Session 内 keep-alive 是自动的;session.proxies 里的值可能被环境变量代理覆盖;SOCKS 需要 requests[socks],socks5h 在代理端解析域名。

  3. curl 手册页

    官方文档 · 确认日期:

    2026 年 11 月 14 日读到:--connect-timeout 只限制连接阶段(DNS 加 TCP、TLS 或 QUIC 握手);--max-time 设定每次传输允许的最长时间,每次 --retry 都会重新计时;--keepalive-time 设定连接空闲多久后发送保活探测,默认 60 秒。

  4. Proxy302 产品信息与价目表

    产品观察 · 确认日期:

    站点产品信息表,2026 年 11 月 14 日对照控制台和价目表核对:产品、价格(1 PTC = US$1)、租期、协议与端口、国家数、数量上限、自动续费、无免费试用。

准备好试试了吗?

注册账号、充值一次,就能选动态住宅、静态 ISP 或数据中心 IP,几分钟配进你的浏览器。