クイック回答
データセンタープロキシをコードで使うには?
これらのプロキシコード例は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不要、暗号通貨払いのみ。
どのスニペットが必要ですか?
| クライアント | 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を使用しています。接続フォーマットページで、ご自身の行からURLを組み立てる方法を確認できます。
# HTTP proxy, HTTPS target (CONNECT tunnel)
curl -x http://USERNAME:[email protected]:8000 https://api.ipify.org
# SOCKS5, hostname resolved by the proxy
curl -x socks5h://USERNAME:[email protected]: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:[email protected]:8000 https://example.comPython requestsでプロキシを使うには?
requestsにproxies辞書を渡し、httpとhttpsに同じURLを指定します。httpsキーはhttps://ターゲットで使われるもので、その値はプロキシへの接続を表すためhttp://で始まります。プロキシが接続やログインを拒否すると、requestsはProxyErrorを発生させます。
import requests # pip install requests
# From the line 203.0.113.24:8000:USERNAME:PASSWORD in your account
proxy = 'http://USERNAME:[email protected]: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')import requests # pip install "requests[socks]"
# socks5h: the proxy resolves the hostname. Use the SOCKS5 port shown in your account.
proxy = 'socks5h://USERNAME:[email protected]: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'}import requests
# A Session reuses connections: faster for many requests through the same IP.
session = requests.Session()
session.proxies.update({
'http': 'http://USERNAME:[email protected]:8000',
'https': 'http://USERNAME:[email protected]:8000',
})
session.headers['User-Agent'] = 'my-monitor/1.0 (contact: [email protected])'
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パッケージが必要です。
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ファイルとして保存してください。
// 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());// 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:[email protected]:8000');
// Use the SOCKS5 port shown in your account; socks5h lets the proxy resolve DNS.
const socksAgent = new SocksProxyAgent('socks5h://USERNAME:[email protected]: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を省略してください。
// 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で実行して比較してください。各距離の物理的な下限については都市ガイドで説明しています。
import statistics
import time
import requests
proxy = 'http://USERNAME:[email protected]: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静的ガイドに完全な例があり、接続形式ページにはリスト全体のコンバーターがあります。リストのサイズに関わらず、各サイトのペースを守ってください。IPを増やしてもサイトの制限は上がりません。
コード例に関する質問
サイトがhttps://なのに、なぜプロキシにはhttp://を使うのですか?
プロキシURLのスキームは、ウェブサイトへの接続ではなく、プロキシへの接続を表します。クライアントはプレーンTCPでプロキシに接続し、CONNECTトンネルを開くよう要求し、その中でウェブサイトとTLSを実行します。ページ内容はエンドツーエンドで暗号化されたままで、読み取り可能な形で送られるのはプロキシのログイン情報のみです。
パスワードに特殊文字があります。何が変わりますか?
URL形式では、Pythonではurllib.parse.quote(password, safe='')、JavaScriptではencodeURIComponent(password)でパスワードをエンコードします。aiohttpのBasicAuth、Playwrightのusernameやpassword、curlの-Uなど、ログインを別途受け取るクライアントではエンコードは不要です。接続形式ページに対象文字が記載されています。
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からプランを購入し、アカウントから行をコピーしてスニペットに貼り付けてください。すべてのプランサイズについては料金をご覧ください。
自分のIPで例を実行する
1 IP($1.29向け、HTTPとSOCKS5を含む)。KYC不要、暗号通貨で支払い可能。
参考資料 (6)
- curl manページ — curl project (2026-10-19)
- Requests: プロキシとSOCKS — Requests (2026-10-19)
- aiohttp: プロキシサポート — aiohttp (2026-10-19)
- undici: ProxyAgent — Node.js (2026-10-19)
- proxy-agents(https-proxy-agent、socks-proxy-agent) — GitHub (2026-10-19)
- Playwright: HTTPプロキシ — Playwright (2026-10-19)