# データセンタープロキシのコード例: curl、Python、Node.js、Playwright

> curl、Python requests、aiohttp、Node.js undici、Playwright、HTTP、SOCKS5のプロキシコード例。RackProxies: IPあたり$1.29から、KYC不要、暗号通貨払い。

- URL: https://rackproxies.com/ja/docs/code-examples/
- 最終更新: 2026-10-19
- Publisher: RackProxies (https://rackproxies.com)

主要クライアント向けのコピペ可能なスニペット。すべて構文テスト済み。各例はapi.ipify.org、httpbin.org/ip、example.comを対象にしています。

**クイック回答 — データセンタープロキシをコードで使うには？**

これらのプロキシコード例は1つの`http://USERNAME:PASSWORD@IP:PORT` URLをクライアントに渡します。curlでは`-x`、Python requestsでは`proxies=`、Node.jsでは`ProxyAgent`、Playwrightでは`proxy`オプションです。SOCKS5では`socks5h://`を使います。**RackProxies**のIPはHTTP、HTTPS（CONNECT）、SOCKS5に対応し、専用IPv4の30日間で$1.29から。KYC不要、暗号通貨払いのみ。

## どのスニペットが必要ですか？

*すべてのスニペットでドキュメント用アドレス203.0.113.24とポート8000を使用しています。ご自身のアカウントの行に置き換えてください。*

| クライアント | HTTPプロキシ | SOCKS5プロキシ | 追加パッケージ |
| --- | --- | --- | --- |
| curl | `-x http://…` | `-x socks5h://…` | なし |
| Python requests | `proxies={…}` | `socks5h://` URL | SOCKS5用に`requests[socks]` |
| Python aiohttp | `proxy=`と`proxy_auth=` | 組み込みなし | SOCKS5用に`aiohttp-socks` |
| Node.js fetch | undici `ProxyAgent` | 組み込みなし | `undici` |
| Node.js https | `https-proxy-agent` | `socks-proxy-agent` | どちらか一方 |
| Playwright | `proxy: { server, username, password }` | HTTPを使うかallowlistを使用 | `playwright` |

## curlでプロキシを使うには？

`-x`でプロキシURLを渡します。curlは`https://`ターゲットのCONNECTトンネルを自動で処理します。このページのすべてのスニペットはドキュメント用アドレス`203.0.113.24`を使用しています。[接続フォーマット](https://rackproxies.com/ja/docs/connection-format/)ページで、ご自身の行からURLを組み立てる方法を確認できます。

*curl: HTTP、SOCKS5、個別ログイン、allowlist*

```bash
# HTTP proxy, HTTPS target (CONNECT tunnel)
curl -x http://USERNAME:PASSWORD@203.0.113.24:8000 https://api.ipify.org

# SOCKS5, hostname resolved by the proxy
curl -x socks5h://USERNAME:PASSWORD@203.0.113.24:8000 https://api.ipify.org

# Login passed separately (no URL-encoding needed)
curl -x http://203.0.113.24:8000 -U 'USERNAME:PASSWORD' https://httpbin.org/ip

# IP allowlist: no login
curl -x http://203.0.113.24:8000 https://api.ipify.org

# Show the proxy handshake and the timings
curl -v -s -o /dev/null -w '%{time_connect} %{time_appconnect} %{time_total}\n' \
  -x http://USERNAME:PASSWORD@203.0.113.24:8000 https://example.com
```

## Python requestsでプロキシを使うには？

requestsに`proxies`辞書を渡し、`http`と`https`に同じURLを指定します。`https`キーは`https://`ターゲットで使われるもので、その値はプロキシへの接続を表すため`http://`で始まります。プロキシが接続やログインを拒否すると、requestsは`ProxyError`を発生させます。

*HTTPプロキシ経由のrequests、エラーハンドリング付き*

```python
import requests  # pip install requests

# From the line 203.0.113.24:8000:USERNAME:PASSWORD in your account
proxy = 'http://USERNAME:PASSWORD@203.0.113.24:8000'
proxies = {'http': proxy, 'https': proxy}

try:
    response = requests.get('https://api.ipify.org', proxies=proxies, timeout=20)
    response.raise_for_status()
    print('Exit IP:', response.text)
except requests.exceptions.ProxyError as error:
    print('Proxy problem (credentials, port or allowlist):', error)
except requests.exceptions.Timeout:
    print('No answer within 20 seconds')
```

*SOCKS5経由のrequests（pip install "requests[socks]"）*

```python
import requests  # pip install "requests[socks]"

# socks5h: the proxy resolves the hostname. Use the SOCKS5 port shown in your account.
proxy = 'socks5h://USERNAME:PASSWORD@203.0.113.24:8000'
proxies = {'http': proxy, 'https': proxy}

response = requests.get('https://httpbin.org/ip', proxies=proxies, timeout=20)
print(response.json())  # {'origin': '203.0.113.24'}
```

*1つのIPで多数のリクエストに使うセッション*

```python
import requests

# A Session reuses connections: faster for many requests through the same IP.
session = requests.Session()
session.proxies.update({
    'http': 'http://USERNAME:PASSWORD@203.0.113.24:8000',
    'https': 'http://USERNAME:PASSWORD@203.0.113.24:8000',
})
session.headers['User-Agent'] = 'my-monitor/1.0 (contact: you@example.com)'

for url in ['https://example.com', 'https://httpbin.org/ip']:
    response = session.get(url, timeout=20)
    print(url, response.status_code, len(response.content), 'bytes')
```

Sessionの例のように、ツール名と連絡先を記載した`User-Agent`を設定してください。そうすればサイト運営者はあなたをブロックする代わりに連絡できます。requestsは、`proxies`引数が指定されていない場合、`HTTP_PROXY`と`HTTPS_PROXY`の環境変数も読み込みます。

## Python aiohttpでプロキシを使うには？

aiohttpはリクエストごとにプロキシを指定します。アドレスには`proxy=`、ログインには`proxy_auth=`を使います。HTTPプロキシに対応しており、`https://`ターゲット向けのCONNECTも含みます。SOCKS5には別途`aiohttp-socks`パッケージが必要です。

*HTTPプロキシ経由のaiohttp*

```python
import asyncio

import aiohttp  # pip install aiohttp (HTTP proxies; SOCKS needs the aiohttp-socks package)

PROXY = 'http://203.0.113.24:8000'
AUTH = aiohttp.BasicAuth('USERNAME', 'PASSWORD')


async def main():
    timeout = aiohttp.ClientTimeout(total=20)
    async with aiohttp.ClientSession(timeout=timeout) as session:
        async with session.get('https://httpbin.org/ip', proxy=PROXY, proxy_auth=AUTH) as response:
            print(await response.json())


asyncio.run(main())
```

## Node.jsでプロキシを使うには？

Node組み込みの`fetch`はプロキシ引数を受け取らないため、`undici`パッケージとその`ProxyAgent`を`dispatcher`として使います。従来の`https`モジュールでは、HTTPプロキシには`https-proxy-agent`、SOCKS5には`socks-proxy-agent`を使います。どちらのスニペットもESモジュールなので、`.mjs`ファイルとして保存してください。

*undici ProxyAgentを使ったfetch*

```javascript
// npm install undici
import { ProxyAgent, fetch } from 'undici';

const dispatcher = new ProxyAgent({
  uri: 'http://203.0.113.24:8000',
  token: `Basic ${Buffer.from('USERNAME:PASSWORD').toString('base64')}`,
});

const response = await fetch('https://api.ipify.org', { dispatcher });
console.log('Exit IP:', await response.text());
```

*https-proxy-agentとsocks-proxy-agentを使ったhttps*

```javascript
// npm install https-proxy-agent socks-proxy-agent
import https from 'node:https';
import { HttpsProxyAgent } from 'https-proxy-agent';
import { SocksProxyAgent } from 'socks-proxy-agent';

const httpAgent = new HttpsProxyAgent('http://USERNAME:PASSWORD@203.0.113.24:8000');
// Use the SOCKS5 port shown in your account; socks5h lets the proxy resolve DNS.
const socksAgent = new SocksProxyAgent('socks5h://USERNAME:PASSWORD@203.0.113.24:8000');

for (const agent of [httpAgent, socksAgent]) {
  https.get('https://api.ipify.org', { agent }, (res) => {
    res.setEncoding('utf8');
    res.on('data', (chunk) => console.log('Exit IP:', chunk));
  }).on('error', (err) => console.error('Proxy error:', err.message));
}
```

## Playwrightでプロキシを使うには？

`chromium.launch()`に`proxy`オブジェクトを渡し、サーバーと、別途ユーザー名とパスワードを指定します。HTTP形式を使ってください。Chromium組み込みのSOCKS5クライアントは、これまでSOCKS5プロキシのユーザー名とパスワード認証に対応していませんでした。IP許可リストを使う場合は、`username`と`password`を省略してください。

*HTTPプロキシ経由のPlaywright（Chromium）*

```javascript
// npm install playwright && npx playwright install chromium
import { chromium } from 'playwright';

const browser = await chromium.launch({
  proxy: { server: 'http://203.0.113.24:8000', username: 'USERNAME', password: 'PASSWORD' },
});
const page = await browser.newPage();
await page.goto('https://api.ipify.org');
console.log('Exit IP:', await page.textContent('body'));
await browser.close();
```

ブラウザは、自社サイトのQA、広告やローカライズのチェックなど、同様の合法な作業のためにプロキシ経由で使用してください。プロキシはIPのみを変更する点に注意してください。ブラウザの言語とタイムゾーンは、ブラウザコンテキストで設定しない限り、お使いのマシンのままです。

## プロキシ経由のレイテンシーはどう測りますか？

完全なリクエストを数回計測し、中央値を採用します。以下のPythonスニペットは、1つのIP経由で`https://example.com`に5回リクエストを送信します。異なるデータセンター都市のIPで実行して比較してください。各距離の物理的な下限については[都市ガイド](https://rackproxies.com/ja/guides/choose-a-datacenter-city/)で説明しています。

*プロキシ経由のリクエスト時間の中央値*

```python
import statistics
import time

import requests

proxy = 'http://USERNAME:PASSWORD@203.0.113.24:8000'
timings = []
for _ in range(5):
    start = time.perf_counter()
    requests.get('https://example.com', proxies={'http': proxy, 'https': proxy}, timeout=20)
    timings.append((time.perf_counter() - start) * 1000)

print(f'median {statistics.median(timings):.0f} ms over {len(timings)} requests')
```

## IPのリスト全体を使うには？

TXTエクスポートを読み込み、各行をURLに変換し、リクエストごとにIPを選びます。サイトごとにラウンドロビンするか、同じサイトには同じIPを使います。[ローテーティングvs静的ガイド](https://rackproxies.com/ja/guides/rotating-vs-static-datacenter-proxies/)に完全な例があり、[接続形式](https://rackproxies.com/ja/docs/connection-format/)ページにはリスト全体のコンバーターがあります。リストのサイズに関わらず、各サイトのペースを守ってください。IPを増やしてもサイトの制限は上がりません。

## コード例に関する質問

### サイトがhttps://なのに、なぜプロキシにはhttp://を使うのですか？

プロキシURLのスキームは、ウェブサイトへの接続ではなく、プロキシへの接続を表します。クライアントはプレーンTCPでプロキシに接続し、CONNECTトンネルを開くよう要求し、その中でウェブサイトとTLSを実行します。ページ内容はエンドツーエンドで暗号化されたままで、読み取り可能な形で送られるのはプロキシのログイン情報のみです。

### パスワードに特殊文字があります。何が変わりますか？

URL形式では、Pythonでは`urllib.parse.quote(password, safe='')`、JavaScriptでは`encodeURIComponent(password)`でパスワードをエンコードします。aiohttpの`BasicAuth`、Playwrightの`username`や`password`、curlの`-U`など、ログインを別途受け取るクライアントではエンコードは不要です。[接続形式](https://rackproxies.com/ja/docs/connection-format/)ページに対象文字が記載されています。

### SOCKSサポートの依存関係が不足しているとrequestsが言うのはなぜですか？

requestsのSOCKSサポートはオプションの拡張機能に含まれています。PySocksを追加する`pip install "requests[socks]"`でインストールし、プロキシがホスト名を解決できるように`socks5h://`URLを使ってください。HTTPプロキシは追加パッケージなしで動作するため、URLを`http://`に切り替えて依存関係を変更しないまま使うこともできます。

### 1つのIPで多数のリクエストを並列実行できますか？

はい、フェアユースの範囲内で可能です。IPごとの接続数制限は公表していません。自身の安定性のために並列度を適切に保ち、各ウェブサイトのペースを守ってください。同じサイトへの並列リクエストも、そのサイトの制限にカウントされます。GB単位ではなくIP単位で30日間の課金、フェアユースポリシーの適用。

### コードが最初に呼び出すべきテストURLはどれですか？

`https://api.ipify.org`または`https://httpbin.org/ip`を呼び出してください。それぞれが見ているIPを返すため、トラフィックがプロキシから出ていることを確認できます。その後、実際のターゲットを呼び出します。テストURLが機能してターゲットが機能しない場合、問題はコードではなくプロキシとターゲットの間にあります。

### これらの例のプロキシを取得するにはIDが必要ですか？

いいえ。KYC不要: 登録、チャージ、購入時に身分証明書、自撮り写真、書類は不要です。BTC, USDT, USDC, ETH, SOL, LTCでチャージし、$1.29からプランを購入し、アカウントから行をコピーしてスニペットに貼り付けてください。すべてのプランサイズについては[料金](https://rackproxies.com/ja/pricing/)をご覧ください。

**自分のIPで例を実行する** 1 IP（$1.29向け、HTTPとSOCKS5を含む）。KYC不要、暗号通貨で支払い可能。 [料金を見る](https://rackproxies.com/ja/pricing/) · [クイックスタート](https://rackproxies.com/ja/docs/quickstart/)

## 参考資料

1. [curl manページ](https://curl.se/docs/manpage.html) — curl project (2026-10-19)
2. [Requests: プロキシとSOCKS](https://requests.readthedocs.io/en/latest/user/advanced/) — Requests (2026-10-19)
3. [aiohttp: プロキシサポート](https://docs.aiohttp.org/en/stable/client_advanced.html) — aiohttp (2026-10-19)
4. [undici: ProxyAgent](https://undici.nodejs.org/) — Node.js (2026-10-19)
5. [proxy-agents（https-proxy-agent、socks-proxy-agent）](https://github.com/TooTallNate/proxy-agents) — GitHub (2026-10-19)
6. [Playwright: HTTPプロキシ](https://playwright.dev/docs/network) — Playwright (2026-10-19)

---

RackProxies: RackProxiesは専用データセンタープロキシプロバイダーです。IPv4アドレスをIP単位で30日間レンタル、暗号通貨で決済、本人確認書類のアップロードは不要です。公開ネットワークデータに基づき、22か国・34のデータセンター都市を掲載しています。
