ለ HTTP ወደፊት ተኪ፣ የ Gorilla Dialer.Proxy ን ያዋቅሩ። የ WebSocket URL መድረሻው ሆኖ ይቀጥላል፦

proxyURL, err := url.Parse("http://proxy.example:8080")
if err != nil {
    return err
}
dialer := websocket.Dialer{
    Proxy: http.ProxyURL(proxyURL),
    HandshakeTimeout: 15 * time.Second,
}
conn, response, err := dialer.DialContext(
    ctx, "wss://events.example/stream", nil)

ይህ ቁራጭ በመተግበሪያው የግንኙነት ተግባር ውስጥ መሆን አለበት፤ net/url፣ net/http፣ time እና github.com/gorilla/websocket ይገኛሉ። err እና ያልተሳካ የእጅ መጨበጫ ምላሽን ያስተናግዱ፣ ከዚያ conn ን በመደበኛው የመልእክትና የመዝጊያ ዑደት ያስተዳድሩ። ለተፈቀደ የሕዝብ WSS መጨረሻ ነጥብ፣ የ HTTP ፕሮክሲ ዝርዝር ለ proxyURL እጩዎችን ያቀርባል።

የ HTTP ፕሮክሲ ዳይለር የመካከለኛውን ግንኙነት ከፍቶ ለመድረሻው CONNECT ይልካል። ለ wss፣ የመድረሻ TLS ከ WebSocket እጅ መጨበጫ በፊት በተመሠረተው ቱነል በኩል ይከተላል።

NetDialContext ዝቅተኛውን የ TCP ግንኙነት ያበጁል። ወደ ፕሮክሲ ወደብ ብቻ መመራት CONNECT ን አይተገብርም። Proxy ሲዘጋጅም፣ ብጁ የኔትወርክ መመለሻ መካከለኛውን ይደውላል፣ የፕሮክሲ ንብርብሩ ድርድሩን ይይዛል።

የመድረሻውን የአስተናጋጅ ስም በ wss URL ውስጥ ያቆዩ፤ መደበኛው የ TLS ማንነት ማረጋገጫ በታሰበው አገልጋይ ላይ እንዲሠራ።

ተዛማጅ ጽሑፎች