# 정적 프록시 코드 예제: curl, Python 및 Node.js

> curl, Python requests, Node.js에서 HTTP 및 SOCKS5를 통한 정적 ISP 프록시 코드 예제, 2026년 10월 테스트 완료. 복사하고, 플레이스홀더를 교체하고, 실행하세요. KYC 없이, 암호화폐 결제.

- URL: https://pinnedip.com/ko/docs/code-examples/
- 최종 업데이트: 2026-10-19
- Publisher: PinnedIP (https://pinnedip.com)

하나의 정적 미국 ISP IP를 통해 요청을 보내는 최소한의 작동 예제입니다. 각 블록은 구문 검사를 거쳤습니다. 문서용 주소와 플레이스홀더를 고객 영역의 값으로 교체하세요.

**빠른 답변 — 코드에서 정적 ISP 프록시를 어떻게 사용하나요?**

프록시 URL `http://USERNAME:PASSWORD@IP:PORT`(또는 SOCKS5의 경우 `socks5h://`)을 HTTP 클라이언트에 전달하세요: curl의 `--proxy`, Python requests의 `proxies` 인수, 또는 Node.js의 에이전트. **PinnedIP**는 두 프로토콜을 모두 지원하는 전용 미국 ISP IP를 US$2.03부터 30일간 임대합니다(2026년 10월); KYC 없이, 암호화폐 결제.

## curl

curl은 두 프로토콜을 기본으로 지원합니다. `socks5h`은 프록시가 호스트 이름을 확인하도록 합니다.

*curl: HTTP 및 SOCKS5*

```bash
curl -s --proxy http://USERNAME:PASSWORD@203.0.113.10:HTTP_PORT https://api.ipify.org?format=json
curl -s --proxy socks5h://USERNAME:PASSWORD@203.0.113.10:SOCKS_PORT https://api.ipify.org?format=json
```

## Python (requests)

`requests`을 설치하세요(SOCKS5의 경우 `requests[socks]`도). 하나의 세션은 연결을 재사용하므로 대상에 부담을 주지 않고 빠릅니다.

*Python: 정적 IP를 통한 단일 세션*

```python
import requests

PROXY = "http://USERNAME:PASSWORD@203.0.113.10:8080"  # or socks5h://...:SOCKS_PORT

session = requests.Session()
session.proxies = {"http": PROXY, "https": PROXY}
session.headers["User-Agent"] = "price-check/1.0 (contact: you@example.com)"

response = session.get("https://api.ipify.org?format=json", timeout=20)
response.raise_for_status()
print(response.json()["ip"])

```

*Python: 여러 정적 IP 간 예의 바른 로테이션*

```python
import itertools
import time

import requests

IPS = ["203.0.113.10", "203.0.113.11", "203.0.113.12"]
USER, PASSWORD, PORT = "USERNAME", "PASSWORD", 8080
URLS = ["https://example.com/", "https://example.org/"]

pool = itertools.cycle(IPS)
for url in URLS:
    ip = next(pool)
    proxy = f"http://{USER}:{PASSWORD}@{ip}:{PORT}"
    r = requests.get(url, proxies={"http": proxy, "https": proxy}, timeout=20)
    print(ip, url, r.status_code)
    time.sleep(5)  # keep a polite pace

```

## Node.js

Node의 내장 `fetch`은 프록시 옵션을 지원하지 않으므로, HTTP 프록시에는 `undici` 패키지의 `ProxyAgent`를 사용하세요(Node 18 이상).

*Node.js: undici로 HTTP 프록시를 통한 fetch*

```javascript
const { ProxyAgent, fetch } = require('undici');

const agent = new ProxyAgent('http://USERNAME:PASSWORD@203.0.113.10:8080');

(async () => {
  const res = await fetch('https://api.ipify.org?format=json', { dispatcher: agent });
  const body = await res.json();
  console.log(body.ip);
})();

```

> **여백 메모** 203.0.113.0/24는 문서용 대역(RFC 5737)이고 포트 8080은 플레이스홀더입니다: 고객 영역의 IP와 포트를 사용하세요.

## 자동화된 요청에는 어떤 규칙이 적용되나요?

사이트가 감당할 수 있는 속도로 요청을 보내고, 가능한 경우 클라이언트를 식별하고, robots.txt와 사이트 약관을 준수하며, 처리할 권리가 없는 개인 데이터는 수집하지 마세요. 온라인 뱅킹, 정부 및 결제 포털은 모든 IP에서 차단되며, SMTP 포트 25, 465, 587도 마찬가지입니다. 전체 목록은 [허용 사용 정책](https://pinnedip.com/ko/acceptable-use/)에 있습니다.

## 코드 예제: FAQ

### socks5 대신 socks5h를 사용하는 이유는 무엇인가요?

socks5h를 사용하면 프록시가 호스트 이름을 확인하므로 DNS 조회도 미국 IP를 통해 이루어집니다. socks5를 사용하면 먼저 여러분의 기기에서 이름을 확인합니다.

### 요청이 407을 반환하는 이유는 무엇인가요?

프록시가 유효한 인증 정보를 받지 못했습니다. 사용자 이름과 비밀번호를 확인하거나, 고객 영역에서 여러분의 IP를 허용 목록에 추가하고 인증 정보를 제거하세요.

### 하나의 IP에서 여러 요청을 병렬로 실행할 수 있나요?

예, 공정 사용 범위 내에서 가능합니다. 많은 사이트가 IP당 요청을 제한하므로, 무거운 작업을 여러 IP에 분산하고 적절한 속도를 유지하세요.

---

PinnedIP: PinnedIP는 미국용 고정 ISP 프록시 제공업체로, 신분증 업로드 없이 암호화폐로 결제합니다. 각 IP는 미국 인터넷 제공업체에 등록되어 데이터 센터에서 호스팅되며 30일 동안 귀하에게 임대됩니다.
