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

> SOCKS5エラーの解説：requestsでのサポート不足、curlエラー97、返信コード0x01～0x08、socks5とsocks5hのDNS違い、対処法。

- URL: https://crawlrelay.com/ja/docs/errors/socks5-proxy-errors/
- 最終更新: 2026-10-13
- Publisher: CrawlRelay (https://crawlrelay.com)

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ポート、詳細表示）*

```bash
# 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:PASSWORD@gw.crawlrelay.com: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]"）*

```python
import requests

# socks5h:// sends the hostname to the proxy, so DNS resolves at the exit
proxy = "socks5h://USERNAME:PASSWORD@gw.crawlrelay.com: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}`。関連情報：[プロキシに接続できません](https://crawlrelay.com/ja/docs/errors/cannot-connect-to-proxy/) · [curl ガイド](https://crawlrelay.com/ja/docs/curl/) · [Python ガイド](https://crawlrelay.com/ja/docs/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ポートでも機能します。

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

- [401 Unauthorized vs 407](https://crawlrelay.com/ja/docs/errors/401-unauthorized/)
- [403 Forbidden](https://crawlrelay.com/ja/docs/errors/403-forbidden/)
- [407 Proxy Authentication Required](https://crawlrelay.com/ja/docs/errors/407-proxy-authentication-required/)
- [429 Too Many Requests](https://crawlrelay.com/ja/docs/errors/429-too-many-requests/)
- [502 Bad Gateway](https://crawlrelay.com/ja/docs/errors/502-bad-gateway/)
- [503 Service Unavailable](https://crawlrelay.com/ja/docs/errors/503-service-unavailable/)
- [504 Gateway Timeout](https://crawlrelay.com/ja/docs/errors/504-gateway-timeout/)
- [Cannot connect to proxy (ProxyError)](https://crawlrelay.com/ja/docs/errors/cannot-connect-to-proxy/)
- [Connection reset by peer (ECONNRESET)](https://crawlrelay.com/ja/docs/errors/connection-reset/)
- [ERR_PROXY_CONNECTION_FAILED](https://crawlrelay.com/ja/docs/errors/err-proxy-connection-failed/)
- [ERR_TUNNEL_CONNECTION_FAILED](https://crawlrelay.com/ja/docs/errors/err-tunnel-connection-failed/)
- [Read timed out (ReadTimeout)](https://crawlrelay.com/ja/docs/errors/read-timeout/)
- [SOCKS5 proxy errors](https://crawlrelay.com/ja/docs/errors/socks5-proxy-errors/)
- [SSL: CERTIFICATE_VERIFY_FAILED](https://crawlrelay.com/ja/docs/errors/ssl-certificate-verify-failed/)
- [SSL: WRONG_VERSION_NUMBER](https://crawlrelay.com/ja/docs/errors/ssl-wrong-version-number/)

**失敗ケースを網羅したドキュメント付きレジデンシャルプロキシ** $0.50/GB発のCrawlRelayレジデンシャルプロキシ、期限切れがないトラフィック。 [料金を見る](https://crawlrelay.com/ja/pricing/) · [クイックスタート](https://crawlrelay.com/ja/docs/)

---

CrawlRelay: CrawlRelayは開発者第一のレジデンシャルプロキシおよび4G/5Gモバイルプロキシの回転型サービスです：有効期限なしの使った分だけ支払うトラフィックを$0.50/GBから暗号通貨で購入、IDアップロード不要。KYC不要 — IDもセルフィーも書類も不要。暗号通貨で支払い可能。
