# Lỗi proxy SOCKS5: mã trả lời, thiếu hỗ trợ và DNS

> Giải thích lỗi SOCKS5: thiếu hỗ trợ SOCKS trong requests, lỗi curl 97, mã trả lời từ 0x01 tới 0x08, và sự khác biệt giữa socks5 với socks5h DNS. Có cách khắc phục.

- URL: https://crawlrelay.com/vi/docs/errors/socks5-proxy-errors/
- Cập nhật lần cuối: 2026-10-13
- Publisher: CrawlRelay (https://crawlrelay.com)

Lỗi giao thức hoặc client SOCKS5: thông báo chính xác trong từng công cụ, nguyên nhân có thể theo thứ tự, và cách sửa hiệu quả.

**Trả lời nhanh — SOCKS5 proxy errors nghĩa là gì với proxy?**

**Lỗi SOCKS5** gồm 3 loại: client thiếu hỗ trợ SOCKS, máy chủ từ chối username và password, hoặc máy chủ không tới được đích và trả mã trả lời. Với CrawlRelay, cài hỗ trợ SOCKS trước (với Python requests: `requests[socks]`), dùng cổng SOCKS5, và ưu tiên `socks5h://` để DNS được giải quyết tại exit, không tại máy bạn.

## SOCKS5 proxy errors nhìn nhanh

| Thuộc tính | Giá trị |
| --- | --- |
| Lỗi | SOCKS5 proxy errors |
| Loại | Lỗi giao thức hoặc client SOCKS5 |
| Gửi bởi | Máy chủ SOCKS5 (mã trả lời) hoặc thư viện client của bạn (thiếu hỗ trợ) |
| Định nghĩa tại | SOCKS5: RFC 1928; username/password authentication: RFC 1929 |
| Thử lại? | Phụ thuộc mã trả lời |
| Kiểm tra trước tiên | Xác nhận client hỗ trợ SOCKS5 với xác thực, rồi đọc mã trả lời |

## SOCKS5 proxy errors nghĩa là gì?

SOCKS5, định nghĩa trong RFC 1928, chuyển tiếp kết nối TCP mà không đọc HTTP. Xác thực bằng username và password là một trao đổi nhỏ riêng, định nghĩa trong RFC 1929. Sau khi xác thực, client yêu cầu kết nối tới host và cổng, máy chủ trả lời bằng mã trả lời một byte.

Mã trả lời `0x00` nghĩa là thành công. Mã từ `0x01` đến `0x08` mô tả lỗi, từ lỗi tổng quát máy chủ đến kiểu địa chỉ không được hỗ trợ. Client dịch mã đó thành thông báo của riêng nó.

## a SOCKS5 error trông như thế nào trong Python, curl, Node.js và trình duyệt?

Cùng một lỗi nhưng hiển thị khác nhau trên mỗi công cụ. Đây là các thông báo bạn nên tìm trong nhật ký của mình:

- **Python requests không có PySocks:** `InvalidSchema: Missing dependencies for SOCKS support.`
- **curl, chứng thực bị từ chối:** `curl: (97) User was rejected by the SOCKS5 server`
- **Mã trả lời 0x01:** 'lỗi tổng quát máy chủ SOCKS'
- **Mã trả lời 0x04 / 0x05:** 'Không thể tới host' / 'Kết nối bị từ chối' bởi đích
- **Mã trả lời 0x08:** 'Kiểu địa chỉ không hỗ trợ'

## Nguyên nhân gây ra a SOCKS5 error là gì?

Khả năng đầu tiên là:

- **Không cài hỗ trợ SOCKS trong thư viện client.**
- **Chứng thực sai** hoặc chứng thực không mã hóa URL đúng.
- **Dùng cổng HTTP cho SOCKS** hoặc dùng cổng SOCKS cho HTTP.
- **Đích từ chối hoặc không thể tới được** từ exit.
- **DNS cục bộ với `socks5://`:** client tự giải tên host, có thể thất bại hoặc trả về địa chỉ vùng sai.

## Làm sao để chẩn đoán a SOCKS5 error từng bước?

1. Xác nhận hỗ trợ SOCKS: với Python `pip show pysocks`; với Node.js là gói agent SOCKS.
2. Chạy thử curl dưới đây qua cổng SOCKS5 với `--socks5-hostname`.
3. Đọc mã trả lời hoặc thông báo.
4. So sánh `socks5://` và `socks5h://` với cùng đích.

*Kiểm tra URL bị lỗi với curl (cổng HTTP, chi tiết)*

```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
```

## Làm sao để sửa a SOCKS5 error?

- **Cài đặt hỗ trợ:** `pip install "requests[socks]"`; với Node.js, dùng agent proxy SOCKS.
- **Dùng cổng SOCKS5** cho URL `socks5h://` và cổng HTTP cho URL `http://`.
- **Ưu tiên `socks5h://`** để exit giải quyết DNS, giống khách truy cập thực tại địa phương.
- **Với mã 0x04 hoặc 0x05**, thử đích không dùng proxy; có thể đích đang không hoạt động hoặc từ chối.
- **Với trình duyệt**, dùng cổng HTTP: Chromium không hỗ trợ xác thực SOCKS5.

*Python requests qua 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)
```

## Có nên thử lại sau a SOCKS5 error không?

Chỉ thử lại các lỗi tại phía đích, như host không thể tới hoặc kết nối bị từ chối, và chỉ thử lại một lần trên exit mới. Lỗi xác thực và thiếu hỗ trợ client sẽ lặp lại cho tới khi bạn sửa cấu hình.

## SOCKS5 proxy errors áp dụng thế nào với CrawlRelay?

CrawlRelay phục vụ SOCKS5 trên cổng riêng, liệt kê bên dưới, với định dạng username và password giống cổng HTTP. Việc nhắm đích và phiên hoạt động giống nhau trên cả hai cổng.

Gateway: `gw.crawlrelay.com`, cổng 7777 (HTTP, HTTPS qua CONNECT) và cổng 7778 (SOCKS5). Định dạng tên người dùng: `USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}`. Tham khảo liên quan: [Không thể kết nối đến proxy ](https://crawlrelay.com/vi/docs/errors/cannot-connect-to-proxy/) · [hướng dẫn curl ](https://crawlrelay.com/vi/docs/curl/) · [hướng dẫn Python ](https://crawlrelay.com/vi/docs/python/).

## SOCKS5 proxy errors: các câu hỏi thường gặp của lập trình viên

### sự khác biệt giữa socks5:// và socks5h:// là gì?

Với `socks5://`, khách hàng của bạn tự giải quyết tên miền thành địa chỉ IP và gửi IP đó đến proxy. Với `socks5h://`, nó gửi tên miền và phía proxy sẽ giải quyết. Sử dụng `socks5h://` cho việc thu thập dữ liệu: DNS sẽ được thực hiện ở đầu ra, vì vậy bạn sẽ nhận được câu trả lời khu vực giống như khách truy cập địa phương.

### Tôi nên sử dụng proxy SOCKS5 hay HTTP cho việc thu thập dữ liệu?

Đối với trang web, cả hai đều hoạt động và proxy HTTP đơn giản hơn: mọi thư viện HTTP và trình duyệt đều hỗ trợ với xác thực. Dùng SOCKS5 cho các giao thức không phải HTTP hoặc các công cụ chỉ hỗ trợ SOCKS. Trình duyệt dựa trên Chromium không thể xác thực với SOCKS5, nên hãy dùng cổng HTTP.

### Tại sao curl lại báo 'User was rejected by the SOCKS5 server'?

Máy chủ SOCKS5 từ chối quá trình trao đổi tên đăng nhập và mật khẩu. Kiểm tra thông tin đăng nhập, mã hóa URL các ký tự đặc biệt và xác nhận việc sử dụng đúng cổng SOCKS5. Tên đăng nhập và mật khẩu này cũng phải hoạt động trên cổng HTTP nếu tài khoản còn hoạt động.

## Các lỗi proxy khác trong tài liệu tham khảo này

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

**Proxy dân cư với tài liệu bao gồm các trường hợp lỗi** CrawlRelay proxy dân cư từ 0,50 US$/GB, lưu lượng không bao giờ hết hạn. [Xem giá](https://crawlrelay.com/vi/pricing/) · [Bắt đầu nhanh](https://crawlrelay.com/vi/docs/)

---

CrawlRelay: CrawlRelay là dịch vụ proxy dân cư xoay vòng và proxy di động 4G/5G dành cho nhà phát triển, hỗ trợ scrapers và pipeline dữ liệu AI: traffic trả tiền theo nhu cầu không hết hạn từ 0,50 US$/GB, thanh toán bằng crypto, không cần tải lên ID. Không cần KYC — không cần ID, không chụp selfie, không giấy tờ.
