Ein SOCKS-tunnil ber eina TCP-samband. Go kann gera TLS við endamálið gjøgnum henda tunnilin og samráða HTTP/2 har; SOCKS-tænarin má ikki sjálvur tala HTTP/2.

Í einum forriti, sum varðveitir standard sjálvsett flutningslag hjá Go, klona uppsetingina og vel proxyina:

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,
}

Proxyin og endamálið vera ymisk virði. Vel eitt SOCKS5-endapunkt úr SOCKS5-proxylistanum til proxyvirðið; HTTP/2 verður framvegis samrátt við endamálið. Brúka client til at biðja um veruliga HTTPS-tænastu-URL-in, og lat so svar-kroppin aftur gjøgnum vanliga lívsskeið forritsins.

Standard sjálvsetta flutningslagið stuðlar HTTP/2. At klona tað varðveitir hesa uppseting og loyvir proxyvalinum at broytast. Slag-ástandið býttar, at forritið ikki hevur skift http.DefaultTransport út við øðrum RoundTripper.

Fyri eitt serstakliga bygt flutningslag, far yvir um HTTP/2-uppsetingina, serliga tá tú letur upp tilpassaðar dial- ella TLS-krokar. Go vísir ForceAttemptHTTP2 og í nýggjari útgávum greiða Protocols-uppseting fyri teimum valunum.

Endamálið má framvegis bjóða HTTP/2 gjøgnum TLS-samráðing. Kanna Proto- ella ProtoMajor-virðið í tí eydnaða svarinum at síggja, hvat var brúkt. Ein HTTPS-umbøn, sum eydnast gjøgnum SOCKS, prógvar ikki í sjálvum sær, at samráddi protokollurin var HTTP/2.

Skyldar greinar