Connecta el client ws de Node mitjançant un agent HTTP de proxy
Passa HttpsProxyAgent al constructor ws de Node perquè l'handshake WebSocket utilitzi el proxy directe.
El paquet ws de Node accepta un agent HTTP a les seves opcions de connexió. Per a un proxy directe, un fragment de mòdul ES pot fer servir 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);
});
Això suposa que tots dos paquets ja formen part de l'aplicació. L'URL de WebSocket tria el servei, i l'URL de l'agent tria el proxy. Una adreça HTTP de la llista de proxys HTTP pot omplir l'URL de l'agent per a una prova WSS pública permesa sense credencials de proxy; comprova l'accés a l'extrem real del servei.
HttpsProxyAgent estableix un túnel HTTP CONNECT i lliura el transport connectat al client. Admet connexions WebSocket i peticions HTTPS, així que l'aplicació no ha de construir l'intercanvi CONNECT pel seu compte.
Continua amb el maneig habitual d'open, message i close de l'aplicació. L'esdeveniment open marca la finalització de l'handshake WebSocket a la ruta triada; crear només l'objecte JavaScript no l'ha completat.