Node ws müştərisini HTTP proksi agenti ilə birləşdirmək
HttpsProxyAgent-ı Node ws konstruktoruna ötürün ki, WebSocket əl sıxması forvard proksidən keçsin.
Node ws paketi öz bağlantı seçimlərində HTTP agentini qəbul edir. Forvard proksi üçün ES modul fraqmenti HttpsProxyAgent istifadə edə bilər:
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);
});
Bu, hər iki paketin artıq tətbiqin bir hissəsi olduğunu fərz edir. WebSocket URL-i xidməti seçir, agent URL-i isə proksini seçir. HTTP proksi siyahısından götürülmüş HTTP ünvanı proksi etimad məlumatı olmadan icazə verilən açıq WSS sınağı üçün agent URL-ni doldura bilər; faktiki xidmət son nöqtəsinə çıxışı yoxlayın.
HttpsProxyAgent HTTP CONNECT tuneli qurur və qoşulmuş transportu müştəriyə verir. O, həm WebSocket bağlantılarını, həm də HTTPS sorğularını dəstəkləyir, ona görə tətbiq CONNECT mübadiləsini özü qurmağa ehtiyac duymur.
Tətbiqin adi open, message və close işlənməsi ilə davam edin. open hadisəsi seçilmiş marşrutda WebSocket əl sıxmasının tamamlandığını bildirir; yalnız JavaScript obyektinin yaradılması onu tamamlamamışdır.