HTTP 还是 SOCKS5:该选哪种代理 IP?
根据所用应用、支持的流量以及是否需要由代理解析 DNS,选择代理类型。
先打开应用的代理设置。应用支持的协议决定了你能用列表中的哪些条目;响亮的标签或熟悉的端口号都不能让客户端凭空支持某个协议。
| 你的应用或任务 | 选择与检查 |
|---|---|
| 只提供 HTTP 代理输入栏 | 从HTTP 代理列表选择匹配端点。如果需要访问 HTTPS 目标,也要测试 HTTPS CONNECT。 |
| 支持 SOCKS5,且需要连接或 DNS 选项 | 选择两端都支持所需选项的 SOCKS5 端点。 |
| 需要 UDP | 确认客户端与端点都支持 UDP;只有 SOCKS5 标签还不够。 |
| 要求 SOCKS4 | 兼容的 SOCKS4 端点,以及匹配的客户端模式。 |
| 不支持代理 | 列表中的一个 IP 本身无法替应用完成代理配置。 |
对于网页和 API 请求,HTTP 代理通常足够。它转发 HTTP,并在获准时通过 CONNECT 承载 HTTPS。普通 HTTP 页面访问成功不能证明支持隧道:服务可能要求隧道认证,也可能限制目标和端口。
SOCKS 工作在 HTTP 请求层之下。兼容应用让它建立连接,而无需解释 HTTP 请求,因此它也适用于其他受支持的流量。SOCKS5 定义了 IPv4、IPv6 和域名地址、认证及 UDP 关联。具体应用或免费端点可能只实现其中一部分功能。浏览器的 TCP SOCKS 路由不会自动覆盖其他应用或 UDP 服务。
目标名称在哪里解析?
在 curl 中,SOCKS5 URL 的写法决定目标 DNS 在哪里解析:socks5:// 在本地解析目标;socks5h:// 请代理解析。不同的 DNS 视图可能使一种方式可用,另一种失败。其他客户端可能使用复选框或独立选项。仅选择 SOCKS5 并不能证明所有 DNS 查询都经过它。
SOCKS4 的能力较少;SOCKS4a 增加了主机名处理。如果客户端和服务都支持 SOCKS5,也没有必须使用旧协议的原因,可以优先尝试合适的 SOCKS5 条目。客户端保留 SOCKS5 模式却填入 SOCKS4 端点,属于协议不匹配。
协议匹配后,测试实际目标并找出最先失败的环节。HTTP 和 SOCKS5 都不是匿名性指标:你获得的保护仍取决于对运营方的信任、目标的 TLS,以及应用的真实路径。