Kople Nodes ws-klient gjennom ein HTTP-proxyagent
Send HttpsProxyAgent til ws-konstruktøren i Node, slik at WebSocket-handtrykket går gjennom videresendingsproxyen.
Pakka ws i Node godtek ein HTTP-agent i tilkoplingsvala. For ein videresendingsproxy kan eit ES-modulfragment bruke 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);
});
Dette føreset at båe pakkene alt er del av applikasjonen. WebSocket-URL-en vel tenesta, agent-URL-en vel proxyen. Ei HTTP-adresse frå HTTP-proxylista kan fylle agent-URL-en for ein tillaten offentleg WSS-test utan proxy-påloggingsinformasjon; kontroller tilgangen til det faktiske endepunktet til tenesta.
HttpsProxyAgent opprettar ein HTTP CONNECT-tunnel og overleverer den tilkopla transporten til klienten. Det støttar WebSocket-tilkoplingar så vel som HTTPS-førespurnader, så applikasjonen treng ikkje byggje CONNECT-utvekslinga sjølv.
Hald fram med den vanlege handsaminga av open, message og close i applikasjonen. Hendinga open markerer at WebSocket-handtrykket er fullført på den valde ruta; berre å opprette JavaScript-objektet har ikkje fullført det.