Kết nối máy khách ws của Node qua tác nhân HTTP proxy
Truyền HttpsProxyAgent cho hàm dựng ws của Node để bắt tay WebSocket đi qua proxy chuyển tiếp.
Gói ws của Node nhận một tác nhân HTTP trong các tùy chọn kết nối. Với proxy chuyển tiếp, một đoạn mô-đun ES có thể dùng HttpsProxyAgent:
import WebSocket from 'ws';
import { HttpsProxyAgent } from 'https-proxy-agent';
const agent = new HttpsProxyAgent('http://proxy.example.net:8080');
const socket = new WebSocket('wss://socket.example.net/events', {
agent,
});
socket.on('error', error => {
console.error(error.message);
});
Điều này giả định cả hai gói đã là một phần của ứng dụng. URL WebSocket chọn dịch vụ; URL tác nhân chọn proxy. Một địa chỉ HTTP từ danh sách proxy HTTP có thể điền URL tác nhân cho bài kiểm tra WSS công khai được phép mà không cần thông tin đăng nhập proxy; hãy kiểm tra quyền truy cập tới điểm cuối thực tế của dịch vụ.
HttpsProxyAgent thiết lập đường hầm HTTP CONNECT và giao phương tiện đã kết nối cho máy khách. Nó hỗ trợ cả kết nối WebSocket lẫn yêu cầu HTTPS, nên ứng dụng không phải tự dựng trao đổi CONNECT.
Tiếp tục với cách xử lý open, message và close thông thường của ứng dụng. Sự kiện open đánh dấu bắt tay WebSocket hoàn tất trên tuyến đã chọn; chỉ tạo đối tượng JavaScript thì chưa hoàn tất.