Gorilla WebSocket: ffurfweddwch Dialer.Proxy ar gyfer HTTP CONNECT
Ffurfweddwch Dialer.Proxy ar gyfer forward proxy HTTP yn lle trin cyfeiriad TCP arall fel twnnel proxy gorffenedig.
Ar gyfer forward proxy HTTP, ffurfweddwch Dialer.Proxy Gorilla. Mae URL WebSocket yn parhau i fod y gyrchfan:
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)
Mae'r darn hwn yn perthyn i ffwythiant cysylltu'r ap, gyda net/url, net/http, time a github.com/gorilla/websocket ar gael. Trinwch err ac unrhyw ymateb handshake aflwyddiannus, yna rheolwch conn drwy gylch bywyd arferol negeseuon a chau. Ar gyfer pwynt terfyn WSS cyhoeddus a ganiateir, mae'r rhestr proxy HTTP yn darparu ymgeiswyr ar gyfer proxyURL.
Mae dialydd y proxy HTTP yn agor y cysylltiad cyfryngol ac yn anfon CONNECT ar gyfer y gyrchfan. Ar gyfer wss, mae TLS y gyrchfan yn dilyn trwy'r twnnel a sefydlwyd cyn handshake WebSocket.
Mae NetDialContext yn addasu'r cysylltiad TCP lefel isaf. Nid yw ei bwyntio'n unig i borth proxy yn gweithredu CONNECT. Pan fydd Proxy hefyd wedi'i osod, mae'r callback rhwydwaith addasedig yn cysylltu â'r cyfryngwr, tra bod haen y proxy yn trin y trafodaethau.
Cadwch enw gwesteiwr y gyrchfan yn URL wss fel bod y gwiriad hunaniaeth TLS arferol yn berthnasol i'r gweinydd a fwriadwyd.