自动检测失败,但明确的协议前缀可用
可能的含义: 自动检测只是一个有限的便捷尝试序列,不会猜测到代理的 TLS 模式或远程 DNS 的 SOCKS 模式。
下一步检查: 在客户端配置中保留可用的明确协议前缀,而不要依赖根据端口推断。
此方法由 TrueProxies 产品团队维护。所列维护者并非独立审计方或第三方认证机构。
快速解答
先确定确切的错误代码、所选的传输方式、所选的目标,以及不含认证信息的端点标签。格式错误和私有地址失败发生在经代理的请求之前。DNS、认证、连接、TLS、超时和响应失败发生在不同的网络阶段。目标响应超出可接受范围,只表示那一次轻量请求未被接受,并不能证明出口 IP 在所有地方都被封禁。
证据边界
可信的代理诊断会准确说明一次结果能显示什么,并把更宽泛的论断排除在结论之外。
| 信号 | 能说明什么 | 不能说明什么 |
|---|---|---|
| 状态 | 本检测工具显示的大致结果类别,例如无效、离线、超时或可用。 | 责任方是谁、端点未来是否可用,或其他客户端是否会表现相同。 |
| 错误代码 | 与观测到的失败相关的阶段:输入解析、DNS 解析、传输、认证、目标或响应。 | 完整的数据包级根本原因,或服务商范围的事故。 |
| HTTP 目标状态 | 所选目标请求返回的首个响应头中的状态码。 | 目标网站封禁了该代理;4xx 和 5xx 响应可能有多种原因。 |
| 不含认证信息的标签 | 结果对应哪一行提交内容以及哪个已隐藏认证信息的端点。 | 提交的用户名或密码——这些必须保密。 |
诊断流程
明确端点、传输方式、目标和证据边界,让重试结果保持可比。
检查行格式,为 IPv6 字面地址加上方括号,确保端口在 1–65535 之间,并对 URL 形式认证信息中的保留字符进行百分号编码。不要公开发布原始的认证字符串。
将自动检测替换为服务商文档中说明的传输方式。纯 HTTP 代理传输使用 http://,到代理的 TLS 连接使用 https://,由检测端解析目标 DNS 使用 socks5://,由代理端解析目标 DNS 使用 socks5h://。
先运行“通用 HTTPS 连通性”检查。如果成功,再让同一端点针对所选的 Google 或 Wikipedia 目标运行,以免把目标网站的响应误认为代理失效。
重复检查时,保持端点、传输方式、目标和运行节点不变。如果多项设置同时改变,就无法把不同的结果归因于某一个原因。
服务提供方、数据字段、计时边界、超时、隐私和局限均以带版本号的 JSON 形式发布。
解读参考
把错误代码当作有边界的观测结果。建议的下一步检查旨在缩小故障范围,同时不泄露认证信息,也不预设是服务商的问题。
| 代码 | 观测到的证据 | 稳妥的下一步检查 |
|---|---|---|
| INVALID_FORMAT | 该行无法解析为受支持的公网代理端点。 | 与支持的示例进行比较;检查方括号、协议前缀、端口和认证信息分隔符。 |
| PRIVATE_ADDRESS | 该端点是私有地址或保留地址,或者解析结果并非全部为公网地址。 | 使用服务商提供的公网主机名;不要提交回环地址、局域网地址或内部服务地址。 |
| DNS_FAILED | 检测工具无法解析提交的代理主机名。 | 通过独立的 DNS 解析服务核实拼写和公网 DNS 记录,然后重试。 |
| AUTH_REQUIRED | 代理要求认证,或拒绝了所提供的认证交互。 | 私下核实用户名格式、密码编码、可信 IP 模式以及产品特定的认证规则。 |
| CONNECT_REFUSED | 远程主机拒绝或关闭了代理连接。 | 确认主机、端口、服务状态、可信 IP 列表,以及服务商是否要求使用其他传输方式。 |
| NETWORK_UNREACHABLE | 检测工具无法建立到代理主机的路由。 | 检查相应地址族的可达性,以及该端点是否仅限私有网络或服务商内部网络访问。 |
| TLS_FAILED | 必需的 TLS 握手或证书验证失败。 | 确认代理传输方式是否为 HTTPS、主机名是否与其证书匹配,以及服务商是否要求使用其他 TLS 端点。 |
| TARGET_DNS_FAILED | 在当前传输方式文档所述的 DNS 模式下,无法解析所选目标的主机名。 | 保持代理传输方式不变,并确认目标 DNS 应由检测端还是代理端解析。 |
| TARGET_CONNECT_FAILED | 代理线路通过了出口检查,但未能建立与所选目标的连接。 | 将其视为针对该目标的传输证据,并在更改认证信息之前重试“通用 HTTPS 连通性”。 |
| TARGET_TLS_FAILED | 中立的出口检查成功后,所选目标的 HTTPS 握手失败。 | 比较目标网站的策略和当前传输方式;不要把代理端点本身报告为完全离线。 |
| TARGET_TIMEOUT | 所选目标请求在 8 秒内未返回响应头。 | 保留成功的出口证据,并对同一目标重试一次;不要臆造 HTTP 状态码。 |
| TARGET_FAILED | 所选目标请求失败,且没有更具体的公开目标阶段代码。 | 使用同样明确的传输方式重新测试一个端点,只记录不涉密的代码、目标和时间。 |
| TARGET_NOT_ACCEPTED | 所选目标返回的响应头超出了可接受的 2xx/3xx 范围。 | 记录状态码并重试“通用 HTTPS 连通性”;将结果视为针对该目标的情况,而不是被封禁的证据。 |
| TIMEOUT | 一次经代理的请求尝试未在 8 秒内完成。 | 换个时间重试,并比较明确指定的传输方式;不要把一次超时当作吞吐量测量结果。 |
| BAD_RESPONSE | 出口 IP 服务返回了非 200、过大、格式错误或非公网地址的响应。 | 重试一次并与另一个端点比较;如果结果持续出现,可能表示响应被改写或上游服务存在问题。 |
| CANCELLED | 在本次检查产生正常的最终结果之前,运行已被取消。 | 如果仍需要证据,请开始新的运行;不要把取消解读为端点失败。 |
| UNKNOWN | 该失败不属于任何更具体的公开类别。 | 使用明确的传输方式重新测试一个端点,只保留不涉密的时间戳、代码和目标详情,以便联系支持。 |
故障排查
对认证信息保密,并且每次只改变一个变量。
可能的含义: 自动检测只是一个有限的便捷尝试序列,不会猜测到代理的 TLS 模式或远程 DNS 的 SOCKS 模式。
下一步检查: 在客户端配置中保留可用的明确协议前缀,而不要依赖根据端口推断。
可能的含义: 代理通过了中立的出口检查,而所选目标返回了不同的响应头。
下一步检查: 查看状态码、目标网站规则、地区、请求速率和客户端行为;不要把端点标记为失效。
可能的含义: 线路、代理池、出口、队列或目标可能在变化。
下一步检查: 重复进行固定且明确的测试,比较成功次数和响应时间中位数,而不是只看一次运行。
可能的含义: 经代理的出口检查成功了,但单独直接进行的 GeoJS 信息补充没有返回可用字段。
下一步检查: 将连通性视为已观测到、位置视为不可用;请重试,而不要臆造地理位置。
这些标准定义了用于界定检测证据的协议和响应语义。