Bheir tunail SOCKS seachad ceangal TCP. 'S urrainn do Go TLS a dhèanamh leis a' cheann-uidhe tron tunail sin agus HTTP/2 a cho-rèiteach an sin; chan fheum an fhrithealaiche SOCKS fhèin HTTP/2 a bhruidhinn.

Ann am prògram a chumas giùlan àbhaisteach bunaiteach Go, dèan clonadh den rèiteachadh aige agus tagh am proxy:

import (
    "net/http"
    "net/url"
    "time"
)

proxyURL := &url.URL{
    Scheme: "socks5",
    Host: "proxy.example:1080",
}
transport := http.DefaultTransport.(*http.Transport).Clone()
transport.Proxy = http.ProxyURL(proxyURL)
client := &http.Client{
    Transport: transport,
    Timeout: 30 * time.Second,
}

Tha am proxy agus a' cheann-uidhe fhathast nan luachan eadar-dhealaichte. Tagh ceann-latha SOCKS5 bho liosta proxy SOCKS5 airson luach a' phroxy; thathas fhathast a' co-rèiteach HTTP/2 leis a' cheann-uidhe. Cleachd client gus fìor URL na seirbheis HTTPS iarraidh, an uair sin dùin corp an fhreagairt tro chuairt-beatha àbhaisteach an aplacaid.

Tha an giùlan bunaiteach àbhaisteach a' toirt taic do HTTP/2. Bidh clonadh a' gleidheadh an rèiteachaidh sin agus a' leigeil le roghainn a' phroxy atharrachadh. Tha an dearbhadh-seòrsa a' gabhail ris nach do chuir am prògram RoundTripper eile an àite http.DefaultTransport.

Airson giùlan a chaidh a thogail air leth, thoir sùil air a rèiteachadh HTTP/2, gu h-àraid nuair a bheir thu seachad dubhan dial no TLS àbhaisteach. Bidh Go a' nochdadh ForceAttemptHTTP2 agus, ann an deasachaidhean nas ùire, rèiteachadh Protocols soilleir airson nan roghainnean sin.

Feumaidh a' cheann-uidhe HTTP/2 a thabhann tro cho-rèiteach TLS fhathast. Sgrùdaich luach Proto no ProtoMajor an fhreagairt shoirbheachail gus faicinn dè chaidh a chleachdadh. Chan eil iarrtas HTTPS a shoirbhicheas tro SOCKS na aonar a' dearbhadh gur e HTTP/2 a' phròtacal a chaidh a cho-rèiteach.

Artaigilean co-cheangailte