Socks5Proxy

プロキシ接続ガイド、言語とツール別SOCKS5・HTTP設定方法

Socks5Proxy接続ガイドはPython requests、Node.js、cURL、Selenium、Puppeteer、Playwright、Scrapy 7ツールにSOCKS5とHTTPプロキシを接続する方法を実際に動作するコードと共に説明します。

Python requestsPython requestsにHTTPプロキシとSOCKS5プロキシ(socks5h)を接続する方法、認証、リスト循環、リトライ、セッション管理まで実際のコードでまとめました。Node.jsNode.js fetch(undici)にHTTPプロキシをProxyAgentで、SOCKS5プロキシをsocks-proxy-agentで接続する方法とリスト循環コードをまとめました。cURLcURLでHTTPプロキシ(-x)とSOCKS5プロキシ(--socks5-hostname)を接続する方法、認証、応答時間測定、リスト一括確認スクリプトをまとめました。SeleniumSeleniumでChromeとFirefoxにHTTP・SOCKS5プロキシを接続する方法、ChromeでIP認証を使用する理由と設定、複数ブラウザ並列実行をまとめました。PuppeteerPuppeteerで--proxy-serverを使用してHTTP・SOCKS5プロキシを接続し、page.authenticateでユーザー名とパスワードを渡す方法、ブラウザ別IP分離をまとめました。PlaywrightPlaywrightでproxyオプションを使用してHTTP・SOCKS5プロキシを接続する方法、コンテキストごとに異なるIPを使用する方法、PythonとNode.jsの例をまとめました。ScrapyScrapyでHttpProxyMiddlewareとmeta proxyでプロキシを接続する方法、リクエストごとにIPを循環するダウンローダーミドルウェア、速度設定をまとめました。

プロキシ接続に必要な情報は何ですか?

プロキシ1行にはIPアドレス、HTTPポート、SOCKS5ポート、ID、パスワードが含まれています。ダッシュボードの「マイプロキシ」画面でリストを確認したり、希望の形式でダウンロードしたりでき、APIでも同じリストを受け取れます。

このガイドの全例ではIP 198.51.100.23、HTTPポート8000、SOCKS5ポート1080、ユーザー名spx_user、パスワードspx_passを使用します。198.51.100.0/24は文書用に予約されたアドレスで実際には接続されないため、自身のプロキシリストの値に置き換えて使用してください。

認証は2種類です。IDとパスワードを送信する方法と、ダッシュボードに自社サーバーのIPv4を最大10個登録しip:portのみで接続するIP認証です。パスワードを受け取れないツール(例: Chrome起動引数)ではIP認証が便利です。

項目サンプル値説明
IP198.51.100.23プロキシサーバーアドレス
HTTPポート8000HTTPとHTTPS(CONNECT)接続
SOCKS5ポート1080SOCKS5 TCP接続
ユーザー名spx_userユーザー名・パスワード認証
パスワードspx_passユーザー名・パスワード認証

HTTPとSOCKS5のどちらで接続しますか?

ウェブページとAPIをリクエストするほとんどの作業はHTTPポートで十分です。HTTPSアドレスもCONNECT方式で暗号化されたまま伝達されるため、プロキシが内容を変更することはありません。

SOCKS5はHTTPだけでなくTCP接続も転送し、ドメイン名解決をプロキシ側で行うことができます。Pythonではsocks5h、cURLでは--socks5-hostnameを使用すると、自サーバーのDNSリクエストが外部に漏れません。同じIPに両方のポートがあるので、ツールがサポートする方法を選べば良いです。

リストをコードで取得して使うにはどうすればいいですか?

APIキーはダッシュボードのAPIキー画面で作成し、最初の一度だけ表示されるので、安全な場所に保存してください。すべてのリクエストにAuthorization: Bearerヘッダーでキーを入力します。以下のコードはSOCKS5用のリストをuser:pass@ip:port形式で受け取るPythonの例です。各ガイドではこのリストをツールに接続する方法を続けて説明します。

import requests

API = "https://socks5proxy.io/api/v1"
KEY = "YOUR_API_KEY"

# Download the proxy list as plain text, one proxy per line
r = requests.get(
    API + "/proxies/download",
    params={"format": "user:pass@ip:port", "protocol": "socks5"},
    headers={"Authorization": "Bearer " + KEY},
    timeout=30,
)
r.raise_for_status()
proxies = [line.strip() for line in r.text.splitlines() if line.strip()]
print(len(proxies), "proxies loaded")

どのガイドから見ればよいですか?

使用言語とツールに合ったガイドを選んでください。全てのガイドには接続確認方法、エラー時の確認事項、IPを分けて使用する方法が含まれています。

  • Python requests: 最も簡単なHTTP・SOCKS5接続とリスト循環
  • Node.js: undici ProxyAgent(HTTP)とsocks-proxy-agent(SOCKS5)
  • cURL: コマンドラインでの接続確認と応答時間測定
  • Selenium: ChromeとIP認証、Firefox設定
  • Puppeteer: --proxy-serverとpage.authenticate
  • Playwright: ブラウザとコンテキスト別プロキシ
  • Scrapy: リクエストごとにmeta proxyと循環ミドルウェアを使用

リスト形式の選び方

ツールごとに受け取る形式が異なるため、リストをダウンロードする際に形式を選択できます。ほとんどのライブラリはアドレス形式(http://user:pass@ip:portまたはsocks5://user:pass@ip:port)をそのまま受け取ります。設定欄がIP、ポート、ユーザー名、パスワードに分かれたプログラムはip:port:user:pass形式を使うと、行を分割して入力しやすくなります。

IP認証を使用する場合、ip:port形式を選択すればよいです。表計算ソフトや管理ドキュメントに貼り付ける場合はCSV形式が便利です。同じリストをHTTP用とSOCKS5用で別々に受け取ることができ、ポートだけが異なります。

形式例適した場所
ip:port:user:pass198.51.100.23:8000:spx_user:spx_passカンが分かれた設定画面
user:pass@ip:portspx_user:spx_pass@198.51.100.23:8000コード内でのアドレスの組み立て
http://user:pass@ip:porthttp://spx_user:spx_pass@198.51.100.23:8000requests, cURL, Scrapy
socks5://user:pass@ip:portsocks5://spx_user:spx_pass@198.51.100.23:1080SOCKS5ライブラリ
ip:port198.51.100.23:8000IP認証、ブラウザ実行引数
CSVip,http_port,socks_port,user,pass,country表計算、管理文書

プロキシ情報はどう安全に保管しますか?

プロキシIDとパスワード、APIキーはコードリポジトリにアップロードせず、環境変数やシークレットストレージに保管してください。リポジトリに誤ってアップロードされた場合は、ダッシュボードでAPIキーを再生成し、以前のキーを無効にできます。

サーバーが固定IPの場合はIP認証が最も安全です。リストが漏洩しても登録されていないIPからは接続できません。登録IPは最大10個まで設定可能で、いつでも変更できます。

チームメンバーが複数いる場合は、リストファイルを共有フォルダに置くよりも、各々がAPIで受け取って使うようにすると管理が簡単です。リストを受け取った記録が残るので、問題が発生した際の確認にも役立ちます。

接続ができないときは何を確認しますか?

まずcURLで1行試してプロキシ自体が応答するか確認してください。407応答はIDまたはパスワードが間違っていることを意味し、IP認証を使用する場合はリクエストを送信するサーバーのIPが登録リストにあるか確認してください。接続タイムアウトの場合はポート(HTTP 8000、SOCKS5 1080のように行ごとに異なる値)を再度確認してください。

それでも解決しない場合は、ダッシュボードのカスタマーサポートで問い合わせできます。使用した行、ツール、エラーメッセージを一緒に残していただければ、迅速に確認できます。

プロキシ接続ガイド、Python・Node.js・Selenium設定 | Socks5Proxy