Socks5Proxy

Hướng dẫn kết nối proxy, phương pháp cài đặt SOCKS5/HTTP theo ngôn ngữ và công cụ

Hướng dẫn kết nối Socks5Proxy giải thích cách kết nối SOCKS5 và HTTP proxy với 7 công cụ: Python requests, Node.js, cURL, Selenium, Puppeteer, Playwright, Scrapy cùng với mã thực thi.

Python requestsChúng tôi đã tổng hợp cách kết nối HTTP proxy và SOCKS5 proxy (socks5h) trong Python requests, cùng với xác thực, luân chuyển danh sách, thử lại và quản lý phiên bằng mã thực tế.Node.jsChúng tôi đã tổng hợp cách kết nối HTTP proxy qua ProxyAgent và SOCKS5 proxy qua socks-proxy-agent trong Node.js fetch(undici), cùng với mã luân chuyển danh sách.cURLHướng dẫn cách kết nối proxy HTTP (-x) và SOCKS5 (--socks5-hostname) bằng cURL, xác thực, đo thời gian phản hồi, script kiểm tra hàng loạt danh sách.SeleniumCách kết nối HTTP và SOCKS5 proxy với Chrome và Firefox trong Selenium, lý do và cài đặt IP authorization với Chrome, và chạy song song nhiều trình duyệt đã được tổng hợp.PuppeteerChúng tôi đã tổng hợp cách kết nối HTTP và SOCKS5 proxy qua --proxy-server trong Puppeteer và truyền tên người dùng cùng mật khẩu qua page.authenticate, cùng với cách phân tách IP theo trình duyệt.PlaywrightChúng tôi đã tổng hợp cách kết nối HTTP và SOCKS5 proxy qua tùy chọn proxy trong Playwright, cách sử dụng IP khác nhau cho mỗi ngữ cảnh, cùng với các ví dụ Python và Node.js.ScrapyCách kết nối proxy trong Scrapy với HttpProxyMiddleware và meta proxy, middleware tải xuống luân phiên IP cho mỗi yêu cầu và cài đặt tốc độ đã được tổng hợp.

Bạn cần thông tin gì để kết nối proxy?

Mỗi dòng proxy chứa địa chỉ IP, cổng HTTP, cổng SOCKS5, tên người dùng và mật khẩu. Bạn có thể xem danh sách trong màn hình 'Proxy của tôi' trên bảng điều khiển, tải xuống theo định dạng mong muốn hoặc nhận cùng danh sách qua API.

Tất cả ví dụ trong hướng dẫn này sử dụng IP 198.51.100.23, cổng HTTP 8000, cổng SOCKS5 1080, username spx_user, password spx_pass. Dải 198.51.100.0/24 là địa chỉ dành cho tài liệu nên không kết nối thực tế, bạn có thể thay bằng giá trị từ danh sách proxy của mình.

Có hai phương thức xác thực: gửi username/password hoặc đăng ký tối đa 10 IPv4 server trên dashboard để kết nối chỉ bằng ip:port (IP authorization). IP authorization hữu ích khi dùng các công cụ không hỗ trợ mật khẩu (ví dụ: tham số dòng lệnh Chrome).

MụcGiá trị mẫuMô tả
IP198.51.100.23Địa chỉ máy chủ proxy
Cổng HTTP8000Kết nối HTTP và HTTPS (CONNECT)
Cổng SOCKS51080Kết nối TCP SOCKS5
Tên người dùngspx_userXác thực bằng tên người dùng và mật khẩu
Mật khẩuspx_passXác thực bằng tên người dùng và mật khẩu

Kết nối bằng HTTP hay SOCKS5?

Hầu hết các tác vụ yêu cầu trang web và API đều có thể dùng cổng HTTP. Địa chỉ HTTPS cũng được chuyển tiếp dưới dạng mã hóa qua phương thức CONNECT nên proxy không thay đổi nội dung.

SOCKS5 có thể chuyển tiếp cả kết nối TCP không phải HTTP và có thể được cấu hình để phân giải tên miền từ phía proxy, giúp thông tin DNS của máy chủ của bạn không bị lộ ra ngoài. Trong Python, sử dụng socks5h, trong cURL, sử dụng --socks5-hostname để proxy phân giải tên miền.

Làm thế nào để nhận danh sách bằng code?

Tạo API key tại trang API key trong dashboard, chỉ hiển thị một lần duy nhất nên lưu trữ ở nơi an toàn. Thêm header Authorization: Bearer vào mọi yêu cầu. Code mẫu Python sau nhận danh sách SOCKS5 định dạng user:pass@ip:port. Các hướng dẫn tiếp theo sẽ giải thích cách kết nối danh sách này với công cụ.

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")

Nên bắt đầu với hướng dẫn nào?

Chọn hướng dẫn phù hợp với ngôn ngữ và công cụ bạn dùng. Mọi hướng dẫn đều bao gồm cách kiểm tra kết nối, điều cần kiểm tra khi lỗi và cách chia sẻ IP.

  • Python requests: Kết nối HTTP và SOCKS5 đơn giản nhất cùng với luân chuyển danh sách
  • Node.js: undici ProxyAgent(HTTP) và socks-proxy-agent(SOCKS5)
  • cURL: Kiểm tra kết nối và đo thời gian phản hồi từ dòng lệnh
  • Selenium: IP authorization với Chrome và cài đặt Firefox
  • Puppeteer: --proxy-server và page.authenticate
  • Playwright: proxy theo trình duyệt và ngữ cảnh
  • Scrapy: middleware luân phiên với meta proxy cho mỗi yêu cầu

Nên chọn định dạng danh sách nào?

Mỗi công cụ chấp nhận định dạng khác nhau, nên bạn có thể chọn định dạng khi tải danh sách. Hầu hết thư viện chấp nhận trực tiếp định dạng địa chỉ (http://user:pass@ip:port hoặc socks5://user:pass@ip:port). Với chương trình có các ô riêng cho IP, port, username và password, định dạng ip:port:user:pass giúp dễ dàng tách dòng để nhập.

Nếu dùng xác thực IP, chọn định dạng ip:port. Định dạng CSV tiện khi dán vào chương trình bảng tính hoặc tài liệu quản lý. Có thể tải danh sách riêng cho HTTP và SOCKS5, chỉ khác nhau về cổng.

Định dạngVí dụPhù hợp với
ip:port:user:pass198.51.100.23:8000:spx_user:spx_passGiao diện cài đặt chia tab tại Cannes
user:pass@ip:portspx_user:spx_pass@198.51.100.23:8000Lắp ráp địa chỉ trong code
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:1080Thư viện SOCKS5
ip:port198.51.100.23:8000Xác thực IP, tham số khởi chạy trình duyệt
CSVip,http_port,socks_port,user,pass,countryBảng tính, tài liệu quản lý

Làm thế nào để bảo mật thông tin proxy?

Không lưu trữ tên người dùng, mật khẩu proxy hoặc khóa API trong kho lưu trữ mã. Hãy sử dụng biến môi trường hoặc kho lưu trữ bí mật. Nếu vô tình lưu vào kho, bạn có thể tạo khóa API mới trong bảng điều khiển để vô hiệu hóa khóa cũ ngay lập tức.

Nếu máy chủ có IP cố định, sử dụng xác thực IP là an toàn nhất. Dù danh sách bị rò rỉ, các IP chưa đăng ký sẽ không thể kết nối. Bạn có thể thêm tối đa 10 IP được phép và thay đổi bất cứ lúc nào.

Nếu có nhiều thành viên, thay vì chia sẻ file danh sách qua thư mục chung, hãy để mỗi người lấy qua API để dễ quản lý. Lịch sử tải danh sách cũng giúp kiểm tra khi có sự cố.

Cần kiểm tra những gì khi kết nối không thành công?

Trước tiên, hãy thử một dòng với cURL để kiểm tra xem proxy có phản hồi không. Phản hồi 407 có nghĩa là tên người dùng hoặc mật khẩu không chính xác, hoặc nếu bạn đang sử dụng IP authorization, hãy đảm bảo rằng IP của máy chủ gửi yêu cầu nằm trong danh sách được phép. Nếu kết nối bị hết thời gian, hãy kiểm tra lại cổng (ví dụ: HTTP 8000, SOCKS5 1080, mỗi dòng có giá trị khác nhau).

Nếu vẫn không giải quyết được, bạn có thể liên hệ với bộ phận hỗ trợ khách hàng trên bảng điều khiển. Vui lòng cung cấp dòng đã sử dụng, công cụ và thông báo lỗi để chúng tôi có thể kiểm tra nhanh chóng.

Hướng dẫn kết nối proxy, cài đặt Python/Node.js/Selenium | Socks5Proxy