Bidh HTTP/2 a' dol am broinn tunail SOCKS Go
Dèan clonadh den ghiùlan HTTP àbhaisteach, tagh am proxy SOCKS agus sgrùdaich a' phròtacal cinn-uidhe a chaidh a cho-rèiteach gu fìor.
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.