# 프록시 연결 형식: IP:PORT:USERNAME:PASSWORD

> 프록시 연결 형식 IP:PORT:USERNAME:PASSWORD: URL로 변환하고, 특수 문자를 인코딩하고, TXT와 CSV를 읽습니다. RackProxies: 한 줄에 IP 1개, KYC 없이, 암호화폐 결제.

- URL: https://rackproxies.com/ko/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`이 됨). 요금제는 30일 동안 전용 IPv4 1개 기준 US$1.29부터 시작합니다. 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` |
| 필드를 따로 입력하는 도구 | 서버, 사용자 이름, 비밀번호 | `http://203.0.113.24:8000` + `USERNAME` + `PASSWORD` |

HTTP 프록시의 스킴은 웹사이트가 `https://`일 때도 `http://`입니다: 스킴은 프록시로의 연결을 설명하며, HTTPS 사이트는 CONNECT 터널을 통해 전달됩니다. [SOCKS5 vs HTTP 가이드](https://rackproxies.com/ko/guides/socks5-vs-http-proxies/)에서 `socks5`와 `socks5h`을 설명합니다.

## 프록시 비밀번호의 특수 문자를 어떻게 URL 인코딩하나요?

예약 문자를 각각 `%`와 16진수 코드로 바꾸거나, 사용하는 언어에 맡기세요: 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당 `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/ko/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의 포트가 같은가요?

원하는 프로토콜에 대해 계정에 표시된 포트를 사용하세요. HTTP, HTTPS (CONNECT) 및 SOCKS5는 모든 IP에서 지원됩니다. 계정에 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 1개는 30일 동안 US$1.29이며, [가격](https://rackproxies.com/ko/pricing/)을 참고하세요.

**첫 회선 받기** US$1.29에 1 IP. KYC 없이, 암호화폐로 결제. [요금 보기](https://rackproxies.com/ko/pricing/) · [빠른 시작](https://rackproxies.com/ko/docs/quickstart/)

## 참고 자료

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 표준 라이브러리](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개 데이터센터 도시를 다룹니다.
