OnlineProxy 代理检查器在检查代理时经历若干阶段:解析输入的数据,尝试解析域名,建立 TCP 连接,在必要时建立 TLS,然后检查协议(HTTP/SOCKS)的工作及对目标网站的访问。任意阶段都可能出现下列错误代码——它们有助于快速了解问题具体出在哪一环:代理格式、网络、授权、协议或阻塞。
INVALID_PROXY_FORMAT — 输入的代理格式错误。例如,端口缺失或多余字符。技术上:字符串不符合 host:port 或 user:pass@host:port 的模式,端口超出范围。请参阅下面列出的支持格式。
DNS_RESOLUTION_FAILED — 无法按名称找到代理服务器地址。通常域名写错或不再存在。技术上:DNS 返回 NXDOMAIN、SERVFAIL 或空结果。
DNS_TIMEOUT — DNS 解析似乎过久而不回应。这通常是由于网络提供商的问题或解析器负载过高导致的。技术上:在解析主机时,DNS 请求(UDP/TCP)的超时已超过。
DNS_RESOLVED_PRIVATE_IP — 代理域名解析到内部 IP,这些 IP 不应对互联网可见。通常这是被劫持或配置错误的迹象。技术上:DNS 解析到 private/loopback 范围 10., 172.16–31., 192.168., 127. 或 ::1。
TCP_REFUSED — 服务器拒绝连接,好像端口被关闭。通常服务未运行或访问被禁止。技术上:TCP 连接在 SYN 之后立即收到 RST(Connection refused)。
TCP_TIMEOUT — 无法连接,因为没有人回应。这在被过滤、处于“静默”防火墙或 IP 错误时会发生。技术上:TCP 握手在规定时间内未完成(SYN 无应答)。
TCP_RESET — 连接在工作过程中被重置。有时是防火墙所为,有时是代理在过载时所为。技术上:已建立会话期间收到 TCP RST。
TLS_HANDSHAKE_FAILED — HTTPS 无法“握手”并就加密达成一致。原因可能是代理设置或流量劫持。技术上:TLS 握手错误,原因包括证书、加密套件、SNI/ALPN 或意外数据。
TLS_TIMEOUT — 加密未在规定时间内启动,连接在 HTTPS 开始阶段卡住。通常这是不稳定的网络或节点过载。技术上:ClientHello/ServerHello/Finished 阶段的超时。
SOCKS_UNSUPPORTED_VERSION — 代理不理解所需的 SOCKS 版本。你以 SOCKS5 连接,但端口上可能是其它服务。技术上:服务器返回错误的 VER 或不支持 SOCKS4/5。
SOCKS_NO_ACCEPTABLE_AUTH — 代理未接受所提供的认证方法。通常它需要其他方法或配置不同。技术上:SOCKS5 选择 0xFF(没有可接受的方法)或拒绝所列方法。
SOCKS_AUTH_FAILED — 验证未通过,用户名或密码错误。有时密码正确,但账户被锁定。技术上:SOCKS5 username/password 返回状态 failure。
SOCKS_MALFORMED_REPLY — 代理返回“畸形”的数据,无法解析。常见于非标准实现或流量损坏。技术上:REP/ATYP/LEN 字段不正确、响应被截断或格式错误。
SOCKS_FAKE_SUCCESS — 代理表现得好像已连接,但之后仍然没有流量。看起来像“有连接但无流量的成功”。技术上:SOCKS REP=0,但后续读取为空或到目标的连接未建立。
HTTP_PROXY_AUTH_REQUIRED — 代理需要登录名和密码。没有它们将不会通过请求。技术上:收到 407 Proxy Authentication Required 响应及 Proxy-Authenticate 头。
HTTP_PROXY_FORBIDDEN — 代理禁止访问。原因可能是 IP 限制、套餐、地理区域或访问策略。技术上:返回 403/401 或按 ACL、配额或提供商策略被阻止。
HTTP_PROXY_PROTOCOL_ERROR — 代理的行为不像 HTTP 代理:返回异常响应或破坏格式。常见于端口上根本不是 HTTP。技术上:对 CONNECT/GET 的响应不正确、状态行或头信息错误。
HTTP_HTML_ERROR_PAGE — 不是正常响应,而是带有错误、验证码或“访问被拒绝”的 HTML 页面。这通常是被篡改或过滤的迹象。技术上:在应得到代理响应的地方接收到 HTML 文本。
TARGET_UNREACHABLE — 通过代理无法到达目标网站。代理可能无 Internet 访问或路由损坏。技术上:到目标的连接错误、ICMP 不可达、CONNECT 失败或无路由。
TARGET_TIMEOUT — 通过代理访问时目标网站未在规定时间内响应。要么网站慢,要么代理不稳定。技术上:通过代理对目标主机的 connect/read 超时。
TARGET_BLOCKED — 目标网站的访问被代理端阻止。这可能是域名过滤或内容策略。技术上:拒绝名单、SNI/URL 过滤、返回 403/451 或阻止页面。
NO_FIRST_BYTE — 连接似乎已建立,但响应始终未开始。感觉像“空载”的。技术上:未收到任何字节响应,TTFB 超出限制。
PARTIAL_RESPONSE — 响应未完整到达,在中途就中断。导致页面或数据损坏。技术上:在主体结束前关闭连接、Content-Length 不匹配或分块错误。
READ_TIMEOUT — 数据停止到来,等待时间拖长。有时前几个字节存在,但之后却“寂静”。技术上:建立连接后的套接字读取超时(空闲读取超时)。
IP_MISMATCH — 输出 IP 与预期不同。比如不是同一个城市或不是同一个 IP 池。技术上:实际出口 IP 与设置、订单或位置所述的不同。
TRANSPARENT_PROXY — 代理过于“暴露”,看起来不像普通客户端。它可能添加服务头或修改请求。技术上:存在 Via、X-Forwarded-For、修改头信息和透明代理的行为特征。
INCONSISTENT_IDENTITY — 代理行为不一致:今天一个“身份”,明天另一个。这增加被封禁的风险。技术上:IP、ASN、地理位置、TLS/HTTP 签名或会话参数波动。
HIGH_JITTER — 通信不稳定:往返时延持续波动。对爬虫和 API 来说,这通常比慢还要糟。技术上:RTT 的高变异性,在多次测量中可见明显的抖动。
SLOW_PROXY — 代理工作过慢。页面加载缓慢,请求“拉长”。技术上:高 RTT、低带宽、下载/上传和延迟指标差。
FLAPPING_PROXY — 代理时而工作、时而掉线。检查可能时不时显示成功。技术上:间歇性错误,成功请求与超时、重置和拒绝交替出现。
CHECK_TIMEOUT — 整个检查未在规定时间内完成。有时代理几乎可用,但某个阶段会变慢。技术上:整体超时(DNS、TCP、TLS、HTTP)或尝试次数达到上限。
UNKNOWN — 发生了非标准情况,系统无法将其归类为已知错误。通常重复检查并查看日志会有帮助。技术上:未捕捉的异常、罕见的编码或意外的响应序列。