# Định dạng kết nối proxy: IP:PORT:USERNAME:PASSWORD

> Định dạng kết nối proxy IP:PORT:USERNAME:PASSWORD: chuyển thành URL, mã hóa ký tự đặc biệt, đọc TXT và CSV. RackProxies: 1 IP mỗi dòng, không cần KYC, thanh toán bằng crypto.

- URL: https://rackproxies.com/vi/docs/connection-format/
- Cập nhật lần cuối: 2026-10-19
- Publisher: RackProxies (https://rackproxies.com)

Mỗi IP của RackProxies hiện ra thành một dòng với bốn trường. Dưới đây là cách chuyển nó sang dạng mà công cụ của bạn cần.

**Trả lời nhanh — Định dạng kết nối proxy là gì?**

Định dạng kết nối proxy tại **RackProxies** là một dòng cho mỗi IP: `IP:PORT:USERNAME:PASSWORD`, có thể xuất ra TXT hoặc CSV. Hầu hết công cụ lại cần dạng URL: `http://USERNAME:PASSWORD@IP:PORT`, với các ký tự đặc biệt trong mật khẩu được mã hóa URL (`@` thành `%40`). Gói bắt đầu từ 1,29 US$ cho một IPv4 riêng trong 30 ngày. Không cần KYC, thanh toán bằng crypto.

## Bốn trường của một dòng

Dòng ví dụ, với một địa chỉ tài liệu: `203.0.113.24:8000:USERNAME:PASSWORD`.

*Mỗi IP được giao dưới dạng một dòng IP:PORT:USERNAME:PASSWORD trong tài khoản của bạn, có thể xuất dưới dạng TXT hoặc CSV.*

| Vị trí | Trường | Ví dụ | Ghi chú |
| --- | --- | --- | --- |
| 1 | IP | 203.0.113.24 | Địa chỉ IPv4 riêng; cũng là IP thoát mà các website nhìn thấy |
| 2 | PORT | 8000 | Cổng để kết nối; dùng cổng được liệt kê cho giao thức bạn dùng |
| 3 | USERNAME | USERNAME | Đăng nhập proxy; không cần khi IP của bạn nằm trong allowlist |
| 4 | PASSWORD | PASSWORD | Mật khẩu proxy; có thể chứa ký tự cần mã hóa URL |

## Làm thế nào để chuyển một dòng thành URL proxy?

Đưa username và password lên đầu, nối với nhau bằng `:`, rồi thêm `@`, IP, `:` và cổng, và đặt scheme ở phía trước. Hầu hết thư viện đều chấp nhận dạng URL này.

| Dùng cho | Định dạng | Ví dụ |
| --- | --- | --- |
| Trang HTTP và HTTPS | `http://USERNAME:PASSWORD@IP:PORT` | `http://USERNAME:PASSWORD@203.0.113.24:8000` |
| SOCKS5, DNS qua proxy | `socks5h://USERNAME:PASSWORD@IP:PORT` | `socks5h://USERNAME:PASSWORD@203.0.113.24:PORT` |
| IP allowlist, không đăng nhập | `http://IP:PORT` | `http://203.0.113.24:8000` |
| Công cụ có trường riêng | server, username, password | `http://203.0.113.24:8000` + `USERNAME` + `PASSWORD` |

Scheme của proxy HTTP là `http://` ngay cả khi website là `https://`: scheme mô tả kết nối tới proxy, và các trang HTTPS đi qua một đường hầm CONNECT. [Hướng dẫn SOCKS5 vs HTTP](https://rackproxies.com/vi/guides/socks5-vs-http-proxies/) giải thích `socks5` và `socks5h`.

## Làm thế nào để mã hóa URL các ký tự đặc biệt trong mật khẩu proxy?

Thay thế từng ký tự dành riêng bằng `%` và mã thập lục phân của nó, hoặc để ngôn ngữ của bạn làm việc đó: `urllib.parse.quote(password, safe='')` trong Python, `encodeURIComponent(password)` trong JavaScript. RFC 3986 dành riêng các ký tự này vì chúng phân tách các phần của URL. Ví dụ, một `@` không được mã hóa trong mật khẩu sẽ khiến công cụ đọc phần còn lại của mật khẩu như là host.

| Ký tự | Đã mã hóa | Vì sao nó phá vỡ URL |
| --- | --- | --- |
| `@` | `%40` | Phân tách phần đăng nhập khỏi host |
| `:` | `%3A` | Phân tách username khỏi password, và host khỏi cổng |
| `/` | `%2F` | Bắt đầu phần path |
| `#` | `%23` | Bắt đầu phần fragment |
| `?` | `%3F` | Bắt đầu phần query |
| `%` | `%25` | Bắt đầu một ký tự được mã hóa |
| dấu cách | `%20` | Không được phép trong URL |

Chỉ username và password cần điều này. IP và cổng không bao giờ chứa ký tự dành riêng. Trong dòng `IP:PORT:USERNAME:PASSWORD` gốc không có gì được mã hóa, nên chỉ tách nó ở ba dấu hai chấm đầu tiên: mật khẩu có thể chứa chính `:`.

## Tôi có thể chuyển cả một danh sách cùng lúc không?

Có. Xuất danh sách của bạn ra TXT từ tài khoản, rồi chạy một trong các script bên dưới. Mỗi script đọc `proxies.txt` (hoặc file bạn truyền vào), tách mỗi dòng ở ba dấu hai chấm đầu tiên, mã hóa phần đăng nhập và in ra một URL HTTP và một URL `socks5h://` cho mỗi IP. Nếu tài khoản của bạn liệt kê một cổng SOCKS5 riêng, hãy dùng cổng đó trong URL SOCKS5.

*to_urls.py (Python 3, chỉ dùng thư viện chuẩn)*

```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 trở lên)*

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

*Kết quả cho một mật khẩu chứa @, : và /*

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

## Bản xuất TXT và CSV có gì?

Bản xuất TXT có một dòng `IP:PORT:USERNAME:PASSWORD` cho mỗi IP và không có gì khác, phù hợp với script và công cụ import danh sách proxy. Bản xuất CSV chứa ít nhất IP, port, username, password, country và end date, phù hợp với bảng tính và quản lý tồn kho.

Trước khi đọc CSV bằng code, hãy mở nó một lần và kiểm tra dòng tiêu đề để biết tên cột chính xác; đọc cột theo tên, không theo vị trí. `csv.DictReader` của Python làm được điều này. Giữ cả hai file riêng tư: chúng chứa mật khẩu proxy của bạn. Nếu file bị lộ, hãy viết cho bộ phận hỗ trợ kèm các IP bị ảnh hưởng, tuyệt đối không gửi mật khẩu.

## Công cụ của tôi cần định dạng nào?

Hầu hết công cụ cần dạng URL hoặc các trường riêng:

- **curl:** `-x http://USERNAME:PASSWORD@IP:PORT`, hoặc `-x http://IP:PORT -U USERNAME:PASSWORD`.
- **Python requests và aiohttp:** dạng URL; xem [ví dụ code](https://rackproxies.com/vi/docs/code-examples/).
- **Node.js (undici, https-proxy-agent):** dạng URL.
- **Playwright và trình duyệt:** các trường riêng: `server`, `username`, `password`.
- **Framework scraping và trình quản lý proxy:** thường là dòng `IP:PORT:USERNAME:PASSWORD` thô hoặc `USERNAME:PASSWORD@IP:PORT`; kiểm tra màn hình import của chúng.

Với IP allowlist, mọi định dạng đều bỏ username và password: `IP:PORT` hoặc `http://IP:PORT`. Tên đăng nhập và mật khẩu, hoặc danh sách IP được phép (tối đa 10 IP).

## Câu hỏi về định dạng kết nối

### Vì sao công cụ của tôi đọc mật khẩu như một phần của host?

Vì mật khẩu chứa `@`, `:` hoặc `/` và chưa được mã hóa URL. Công cụ thấy `@` đầu tiên là điểm kết thúc của phần đăng nhập. Hãy mã hóa mật khẩu bằng `urllib.parse.quote(password, safe='')` trong Python hoặc `encodeURIComponent(password)` trong JavaScript, rồi dựng lại URL.

### Cổng có giống nhau cho HTTP và SOCKS5 không?

Hãy dùng cổng được liệt kê trong tài khoản cho giao thức bạn muốn. HTTP, HTTPS (CONNECT) và SOCKS5 được hỗ trợ trên mọi IP. Nếu tài khoản của bạn hiển thị một cổng cho mỗi IP, đó là cổng cần dùng; nếu nó hiển thị một cổng SOCKS5 riêng, hãy dùng cổng đó trong URL `socks5h://`.

### Vì sao tôi gặp lỗi 407 với một dòng trông có vẻ đúng?

Hãy tìm các ký tự vô hình trước: một dấu cách ở cuối hoặc ký tự xuống dòng kiểu Windows (``) bị sao chép cùng dòng sẽ trở thành một phần của mật khẩu. Sau đó kiểm tra xem các ký tự đặc biệt đã được mã hóa URL chưa và cổng có khớp với giao thức không. Hãy cắt bỏ khoảng trắng ở mỗi dòng trước khi tách, như các script trên làm với `strip()` và `trim()`.

### Bản CSV có chứa country và end date của từng IP không?

Có. Bản xuất CSV chứa ít nhất IP, port, username, password, country và end date. Hãy đọc dòng tiêu đề để biết tên cột chính xác trước khi phân tích nó bằng code. Bản xuất TXT chỉ chứa các dòng `IP:PORT:USERNAME:PASSWORD`, phù hợp với công cụ import danh sách thuần.

### Dòng đó trông như thế nào khi dùng allowlist?

Dòng này giữ nguyên trong tài khoản của bạn, nhưng bạn chỉ cần hai trường đầu tiên: `IP:PORT`, hoặc `http://IP:PORT` dưới dạng URL. Proxy nhận diện kết nối của bạn qua IP nguồn, nên không gửi username hay password. Hãy thêm IP công khai của từng máy kết nối, tối đa theo giới hạn allowlist.

### Tôi có cần giấy tờ tùy thân để lấy danh sách proxy không?

Không. Không cần KYC: không cần ID, không cần ảnh selfie, không cần tài liệu để đăng ký, nạp tiền hoặc mua. Bạn thanh toán bằng BTC, USDT, USDC, ETH, SOL, LTC, và danh sách hiện trong tài khoản sau khi gói được mua từ số dư đã xác nhận. Một IP giá 1,29 US$ cho 30 ngày; xem [bảng giá](https://rackproxies.com/vi/pricing/).

**Lấy dòng đầu tiên của bạn** 1 IP cho 1,29 US$. Không cần KYC, thanh toán bằng crypto. [Xem bảng giá](https://rackproxies.com/vi/pricing/) · [Bắt đầu nhanh](https://rackproxies.com/vi/docs/quickstart/)

## Tài liệu tham khảo

1. [RFC 3986: Uniform Resource Identifier (URI): Generic Syntax](https://www.rfc-editor.org/rfc/rfc3986) — IETF (2026-10-19)
2. [urllib.parse.quote: Python standard library](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 man page (-x, -U)](https://curl.se/docs/manpage.html) — curl project (2026-10-19)
5. [RFC 5737: IPv4 Address Blocks Reserved for Documentation](https://www.rfc-editor.org/rfc/rfc5737) — IETF (2026-10-19)

---

RackProxies: RackProxies là nhà cung cấp proxy datacenter riêng: địa chỉ IPv4 thuê theo IP trong 30 ngày, thanh toán bằng crypto, không cần tải ID. Các trang bao gồm 22 quốc gia và 34 thành phố datacenter với dữ liệu mạng công khai.
