快速回答
什么是代理连接格式?
RackProxies 的代理连接格式为每行一个 IP:IP:PORT:USERNAME:PASSWORD,可导出为 TXT 或 CSV。大多数工具需要的是 URL 形式:http://USERNAME:PASSWORD@IP:PORT,密码中的特殊字符需进行 URL 编码(@ 变为 %40)。套餐起价为 US$1.29,可获得一个专用 IPv4,为期 30 天。无需 KYC,支持加密货币支付。
一行的四个字段
示例行,使用文档地址:203.0.113.24:8000:USERNAME:PASSWORD。
| 位置 | 字段 | 示例 | 说明 |
|---|---|---|---|
| 1 | IP | 203.0.113.24 | 专用 IPv4 地址;也是网站看到的出口 IP |
| 2 | PORT | 8000 | 要连接的端口;使用你所用协议对应的端口 |
| 3 | USERNAME | USERNAME | 代理登录名;当你自己的 IP 在允许列表中时无需填写 |
| 4 | PASSWORD | PASSWORD | 代理密码;可能包含需要 URL 编码的字符 |
如何将一行转换为代理 URL?
将用户名和密码移到最前面,用 : 连接,然后添加 @、IP、: 和端口,并在最前面加上协议。大多数库都接受这种 URL 形式。
| 用途 | 格式 | 示例 |
|---|---|---|
| HTTP 和 HTTPS 网站 | http://USERNAME:PASSWORD@IP:PORT | http://USERNAME:[email protected]:8000 |
| SOCKS5,DNS 走代理 | socks5h://USERNAME:PASSWORD@IP:PORT | socks5h://USERNAME:[email protected]:PORT |
| IP 允许列表,无需登录 | http://IP:PORT | http://203.0.113.24:8000 |
| 使用独立字段的工具 | server、username、password | http://203.0.113.24:8000 + USERNAME + PASSWORD |
即使网站是 https://,HTTP 代理的协议也是 http://:协议描述的是与代理的连接,而 HTTPS 网站通过 CONNECT 隧道传输。SOCKS5 vs HTTP 指南 解释了 socks5 和 socks5h。
如何对代理密码中的特殊字符进行 URL 编码?
将每个保留字符替换为 % 加上其十六进制代码,或者让你的编程语言来完成:Python 中用 urllib.parse.quote(password, safe=''),JavaScript 中用 encodeURIComponent(password)。RFC 3986 保留这些字符,因为它们用于分隔 URL 的各个部分。例如,密码中未编码的 @ 会让工具把密码的剩余部分当作主机名来读取。
| 字符 | 编码后 | 为什么它会破坏 URL |
|---|---|---|
@ | %40 | 分隔登录信息与主机 |
: | %3A | 分隔用户名与密码,以及主机与端口 |
/ | %2F | 开始路径 |
# | %23 | 开始片段 |
? | %3F | 开始查询 |
% | %25 | 开始一个编码字符 |
| 空格 | %20 | 不允许出现在 URL 中 |
只有用户名和密码需要这样做。IP 和端口从不包含保留字符。在原始的 IP:PORT:USERNAME:PASSWORD 行中没有任何编码,因此只能在前三个冒号处分割:密码本身可能包含 :。
可以一次性转换整个列表吗?
可以。从你的账户将列表导出为 TXT,然后运行下面任一脚本。每个脚本读取 proxies.txt(或你传入的文件),在每个行的前三个冒号处分割,对登录信息进行编码,并为每个 IP 打印一个 HTTP URL 和一个 socks5h:// URL。如果你的账户列出了单独的 SOCKS5 端口,请在 SOCKS5 URL 中使用该端口。
"""Turn IP:PORT:USERNAME:PASSWORD lines into proxy URLs, with safe encoding."""
import sys
from urllib.parse import quote
def to_proxy_url(line, scheme='http'):
# maxsplit=3 keeps a password that itself contains ':' in one piece
ip, port, user, password = line.strip().split(':', 3)
return f'{scheme}://{quote(user, safe="")}:{quote(password, safe="")}@{ip}:{port}'
path = sys.argv[1] if len(sys.argv) > 1 else 'proxies.txt'
with open(path, encoding='utf-8') as handle:
for line in handle:
if line.strip():
print(to_proxy_url(line)) # HTTP proxy URL
print(to_proxy_url(line, scheme='socks5h')) # SOCKS5, DNS on the proxy// Turn IP:PORT:USERNAME:PASSWORD lines into proxy URLs (Node.js 18 or later).
import { readFileSync } from 'node:fs';
function toProxyUrl(line, scheme = 'http') {
const [ip, port, user, ...rest] = line.trim().split(':');
const password = rest.join(':'); // a password may itself contain ':'
return `${scheme}://${encodeURIComponent(user)}:${encodeURIComponent(password)}@${ip}:${port}`;
}
const lines = readFileSync(process.argv[2] ?? 'proxies.txt', 'utf8').split(/\r?\n/).filter(Boolean);
for (const line of lines) {
console.log(toProxyUrl(line));
console.log(toProxyUrl(line, 'socks5h'));
}http://user-7:p%40ss%3Aw%2Frd%[email protected]:8000
socks5h://user-7:p%40ss%3Aw%2Frd%[email protected]:8000TXT 和 CSV 导出包含什么?
TXT 导出每行只有一个 IP:PORT:USERNAME:PASSWORD 行,没有其他内容,适合导入代理列表的脚本和工具。CSV 导出至少包含 IP、端口、用户名、密码、国家和结束日期,适合电子表格和库存管理。
在代码中读取 CSV 之前,先打开一次并检查表头行以获取确切的列名;按名称读取列,而不是按位置。Python 的 csv.DictReader 可以做到这一点。请将两个文件保密:它们包含你的代理密码。如果文件泄露,请写信给支持团队并提供受影响的 IP,切勿提供密码。
我的工具需要哪种格式?
大多数工具需要 URL 形式或独立字段:
- curl:
-x http://USERNAME:PASSWORD@IP:PORT,或-x http://IP:PORT -U USERNAME:PASSWORD。 - Python requests 和 aiohttp: URL 形式;参见代码示例。
- Node.js(undici、https-proxy-agent): URL 形式。
- Playwright 和浏览器: 独立字段:
server、username、password。 - 抓取框架和代理管理器: 通常是原始的
IP:PORT:USERNAME:PASSWORD行或USERNAME:PASSWORD@IP:PORT;查看它们的导入界面。
使用 IP 允许列表时,所有格式都会省略用户名和密码:IP:PORT 或 http://IP:PORT。用户名和密码,或 IP 白名单(最多 10 个 IP)。
连接格式问题
为什么我的工具把密码当作主机名的一部分来读取?
因为密码包含 @、: 或 / 且未进行 URL 编码。工具将第一个 @ 视为登录信息的结束。在 Python 中用 urllib.parse.quote(password, safe='') 或在 JavaScript 中用 encodeURIComponent(password) 对密码进行编码,然后重新构建 URL。
HTTP 和 SOCKS5 的端口相同吗?
使用你账户中为你所需协议列出的端口。每个 IP 都支持 HTTP、HTTPS(CONNECT)和 SOCKS5。如果你的账户显示每个 IP 一个端口,则该端口就是你要使用的端口;如果显示单独的 SOCKS5 端口,请在 socks5h:// URL 中使用该端口。
为什么看起来正确的一行却出现 407 错误?
首先查找不可见字符:随行复制的尾随空格或 Windows 行尾符(
)会成为密码的一部分。然后检查特殊字符是否进行了 URL 编码,以及端口是否与协议匹配。在分割前清除每行的空白,如同上面的脚本使用 strip() 和 trim() 所做的那样。
CSV 包含每个 IP 的国家和结束日期吗?
包含。CSV 导出至少包含 IP、端口、用户名、密码、国家和结束日期。在代码中解析之前,请阅读表头行以获取确切的列名。TXT 导出仅包含 IP:PORT:USERNAME:PASSWORD 行,适合导入纯列表的工具。
使用允许列表时该行是什么样子?
线路在您的账户中保持不变,但您只需要前两个字段:IP:PORT,或作为 URL 的 http://IP:PORT。代理通过源 IP 识别您的连接,因此不会发送用户名或密码。添加每台连接机器的公共 IP,最多不超过允许列表限制。
我需要身份证件才能获取代理列表吗?
不需要。无需 KYC:注册、充值或购买均无需身份证件、自拍或签署文件。您使用 BTC, USDT, USDC, ETH, SOL, LTC 支付,从确认余额购买套餐后,列表会出现在您的账户中。一个 IP 30 天费用为 US$1.29;请参阅定价。
获取您的第一条线路
1 IP 仅需 US$1.29。无需 KYC,加密货币支付。
参考资料 (5)
- RFC 3986:统一资源标识符 (URI):通用语法 — IETF (2026-10-19)
- urllib.parse.quote:Python 标准库 — Python Software Foundation (2026-10-19)
- encodeURIComponent() — MDN Web Docs (2026-10-19)
- curl 手册页(-x, -U) — curl project (2026-10-19)
- RFC 5737:保留用于文档的 IPv4 地址块 — IETF (2026-10-19)