# 代理连接格式：IP:PORT:USERNAME:PASSWORD

> 代理连接格式 IP:PORT:USERNAME:PASSWORD：转换为 URL、对特殊字符进行编码、读取 TXT 和 CSV。RackProxies：每行一个 IP，无需 KYC，支持加密货币。

- URL: https://rackproxies.com/zh/docs/connection-format/
- 最后更新: 2026-10-19
- Publisher: RackProxies (https://rackproxies.com)

每个 RackProxies IP 都以一行包含四个字段的形式提供。以下说明如何将其转换为你所用工具所需的格式。

**快速回答 — 什么是代理连接格式？**

**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`。

*每个 IP 以一行 IP:PORT:USERNAME:PASSWORD 的形式交付到您的账户，可导出为 TXT 或 CSV.*

| 位置 | 字段 | 示例 | 说明 |
| --- | --- | --- | --- |
| 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:PASSWORD@203.0.113.24:8000` |
| SOCKS5，DNS 走代理 | `socks5h://USERNAME:PASSWORD@IP:PORT` | `socks5h://USERNAME:PASSWORD@203.0.113.24: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 指南](https://rackproxies.com/zh/guides/socks5-vs-http-proxies/) 解释了 `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 中使用该端口。

*to_urls.py（Python 3，仅标准库）*

```python
"""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
```

*to_urls.mjs（Node.js 18 或更高版本）*

```javascript
// 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'));
}
```

*密码包含 @、: 和 / 时的输出*

```text
http://user-7:p%40ss%3Aw%2Frd%231@203.0.113.97:8000
socks5h://user-7:p%40ss%3Aw%2Frd%231@203.0.113.97:8000
```

## TXT 和 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 形式；参见[代码示例](https://rackproxies.com/zh/docs/code-examples/)。
- **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；请参阅[定价](https://rackproxies.com/zh/pricing/)。

**获取您的第一条线路** 1 IP 仅需 US$1.29。无需 KYC，加密货币支付。 [查看价格](https://rackproxies.com/zh/pricing/) · [快速开始](https://rackproxies.com/zh/docs/quickstart/)

## 参考资料

1. [RFC 3986：统一资源标识符 (URI)：通用语法](https://www.rfc-editor.org/rfc/rfc3986) — IETF (2026-10-19)
2. [urllib.parse.quote：Python 标准库](https://docs.python.org/3/library/urllib.parse.html) — Python Software Foundation (2026-10-19)
3. [encodeURIComponent()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent) — MDN Web Docs (2026-10-19)
4. [curl 手册页（-x, -U）](https://curl.se/docs/manpage.html) — curl project (2026-10-19)
5. [RFC 5737：保留用于文档的 IPv4 地址块](https://www.rfc-editor.org/rfc/rfc5737) — IETF (2026-10-19)

---

RackProxies: RackProxies 是一家独享数据中心代理服务商：IPv4 地址按 IP 租用 30 天，支持加密货币支付，无需上传身份证件。页面覆盖 22 个国家和 34 个数据中心城市，并提供公开网络数据。
