KYC不要 — IDもセルフィーも書類も不要。暗号通貨で支払い:BTC, USDT, USDC, ETH, SOL, LTC
言語: 日本語
今すぐ始める

プロキシエラーリファレンス · 接続とTLSエラー

SOCKS5プロキシエラー:返信コード、サポート不足、DNS問題

SOCKS5プロトコルまたはクライアントエラー:各ツールでの正確なメッセージ、考えられる原因の順序、効果的な修正方法。

最終更新:

クイックアンサー

プロキシでのSOCKS5 proxy errorsとは何を意味していますか?

SOCKS5エラーは主に3種類あります:クライアントのSOCKSサポートが不足、サーバーによるユーザー名・パスワードの拒絶、またはサーバーが対象に到達できず返信コードを返す場合です。CrawlRelayではまずSOCKSサポートを導入してください(Python requestsならrequests[socks])、SOCKS5ポートを使い、DNS解決を出口側で行うsocks5h://を推奨します。

SOCKS5 proxy errorsを一目で理解する

エラーSOCKS5 proxy errors
タイプSOCKS5プロトコルまたはクライアントエラー
送信元SOCKS5サーバー(返信コード)またはクライアントライブラリ(サポート不足)による問題
定義されている場所SOCKS5: RFC 1928; username/password authentication: RFC 1929
再試行しますか?返信コードによる
まず確認することクライアントが認証付きSOCKS5をサポートしているか確認し、返信コードを確認してください

SOCKS5 proxy errorsとは何ですか?

SOCKS5はRFC 1928で定義され、HTTPを読み取らずにTCP接続を中継します。ユーザー名・パスワードによる認証はRFC 1929で定められた別の小さな交換です。認証後、クライアントはホストとポートへの接続を要求し、サーバーは1バイトの返信コードで応答します。

返信コード0x00は成功を意味し、0x01から0x08は一般的なサーバー障害や非対応のアドレスタイプなどの失敗を示します。クライアントはこれらを独自のメッセージに変換します。

a SOCKS5 errorはPython、curl、Node.js、ブラウザではどのように表示されますか?

同じ失敗でもツールごとに異なる表示になります。ログ検索用のメッセージは以下の通りです:

  • PySocksなしのPython requests: InvalidSchema: Missing dependencies for SOCKS support.
  • curlで認証拒否: curl: (97) User was rejected by the SOCKS5 server
  • 返信0x01: 『一般的なSOCKSサーバー障害』
  • 返信0x04 / 0x05: ターゲットによる『ホスト到達不能』/『接続拒否』
  • 返信0x08: 『アドレスタイプ非対応』

a SOCKS5 errorの原因は何ですか?

最も可能性が高いのは次の通りです:

  • クライアントライブラリにSOCKSサポートがない。
  • 認証情報が間違っているか、URLエンコードされていない。
  • SOCKSにHTTPポートを使っている、またはHTTPにSOCKSポートを使っている。
  • 出口からターゲットへの到達拒否や不通。
  • クライアント側DNS解決(socks5://)で失敗または誤った地域アドレスが返る。

a SOCKS5 errorを段階的に診断するには?

  1. SOCKSサポートを確認:Pythonはpip show pysocks、Node.jsではSOCKSエージェントパッケージを使用。
  2. 下記curlテストをSOCKS5ポートに--socks5-hostname付きで実行。
  3. 返信コードまたはメッセージを読む。
  4. 同一ターゲットでsocks5://とsocks5h://を比較。
curlで失敗したURLをテストする(HTTPポート、詳細表示)
# Use the URL that fails; with https://api.ipify.org instead, you test the gateway alone.
# "HTTP/1.1 200 Connection established" first, then the site's own status: the site answered.
curl -v -x http://USERNAME:[email protected]:7777 https://TARGET_URL

# Same test through the SOCKS5 port, with DNS resolved at the exit
curl -v --socks5-hostname gw.crawlrelay.com:7778 --proxy-user USERNAME:PASSWORD https://TARGET_URL

a SOCKS5 errorをどう修正しますか?

  • サポートをインストール: pip install "requests[socks]"、Node.jsではSOCKS代理エージェントを使用
  • socks5h://のURLにはSOCKS5ポートを使い、http://のURLにはHTTPポートを使う。
  • DNS解決はsocks5h://を推奨(出口側で解決)。
  • 返信0x04や0x05の場合はプロキシなしでターゲットを試す(ダウンか拒否されている可能性)。
  • ブラウザはHTTPポートを使う:ChromiumはSOCKS5認証をサポートしていません。
Python requests + SOCKS5対応(pip install "requests[socks]")
import requests

# socks5h:// sends the hostname to the proxy, so DNS resolves at the exit
proxy = "socks5h://USERNAME:[email protected]:7778"
r = requests.get("https://api.ipify.org", proxies={"http": proxy, "https": proxy}, timeout=(10, 30))
print(r.status_code, r.text)

a SOCKS5 errorの後に再試行すべきですか?

ターゲット側の失敗(ホスト到達不能や接続拒否)だけを新しい出口で一度だけ再試行してください。認証失敗やクライアントサポート不足は設定を修正するまで繰り返します。

SOCKS5 proxy errorsはCrawlRelayにどう関係しますか?

CrawlRelayは独自ポートでSOCKS5を提供しており、HTTPポートと同じユーザー名形式とパスワードを使います。ターゲティングとセッションは両ポートで同様に機能します。

ゲートウェイ:gw.crawlrelay.com、ポート7777(HTTP、HTTPSはCONNECT経由)、ポート7778(SOCKS5)。ユーザー名形式:USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}。関連情報:プロキシに接続できません · curl ガイド · Python ガイド。

SOCKS5 proxy errors:開発者がよく尋ねる質問

socks5:// と socks5h:// の違いは何ですか?

socks5://では、クライアントがホスト名をIPアドレスに解決し、そのIPをプロキシに送ります。socks5h://ではホスト名を送り、プロキシ側で解決します。スクレイピングにはsocks5h://を使ってください:DNS解決が出口側で行われるため、現地訪問者と同じ地域の応答を得られます。

スクレイピングにSOCKS5プロキシとHTTPプロキシのどちらを使うべきですか?

ウェブページの場合はどちらも使えますが、HTTPプロキシの方がシンプルです。すべてのHTTPライブラリやブラウザが認証付きHTTPプロキシをサポートしています。SOCKS5は非HTTPプロトコルやSOCKSにしか対応していないツールに使います。Chromium系ブラウザはSOCKS5認証に対応していないため、HTTPポートを使ってください。

curlで「User was rejected by the SOCKS5 server」というエラーが出るのはなぜですか?

SOCKS5サーバーがユーザー名とパスワードの交換を拒否しました。認証情報を確認し、特殊文字をURLエンコードし、SOCKS5ポートを使用しているか確認してください。同じユーザー名とパスワードは、アカウントがアクティブであればHTTPポートでも機能します。

他のプロキシエラーのリファレンス

HTTPステータスコード

ブラウザとクライアントのエラー

接続とTLSエラー

失敗ケースを網羅したドキュメント付きレジデンシャルプロキシ

$0.50/GB発のCrawlRelayレジデンシャルプロキシ、期限切れがないトラフィック。

$0.50/GBから · KYC不要

今すぐ始める