transport := http.DefaultTransport.(*http.Transport).Clone()
transport.Proxy = http.ProxyURL(proxyURL)
transport.OnProxyConnectResponse = func(
    _ context.Context,
    _ *url.URL,
    _ *http.Request,
    response *http.Response,
) error {
    observeConnect(response.StatusCode, response.Header.Get("X-Proxy-Region"))
    return nil
}
client := &http.Client{Transport: transport}

Cleachd context, net/http agus net/url; tha an dearbhadh seòrsa àbhaisteach a' gabhail ris gum fuirich an transport sin air a chur a-steach. Thèid proxyURL a pharsadh, agus feumaidh observeConnect a bhith sàbhailte a thaobh co-aontachd. Airson deuchainnean HTTPS poblach ceadaichte, bheir Liosta progsaidh HTTP tagraichean airson an URL proxy sin.

Bidh an callback a' ruith mus tèid CONNECT a sgrùdadh airson 200 soirbheachail, mar sin chì e 407 cuideachd. Leanann nil den sgrùdadh àbhaisteach agus cha ghabh e ri tunail a chaidh a dhiùltadh; bheir mearachd air an iarrtas fàiligeadh.

Is e X-Proxy-Region eisimpleir a tha air a mhìneachadh leis an t-solaraiche. Leugh staid agus cinn-naidheachd an seo agus fàg seilbh a' bhuidhinn agus an t-socaid aig Transport, a làimhsicheas TLS a' chinn-uidhe an uair sin.

Bidh seo a' cumail sùil air stèidheachadh tunail ùir, chan e gach iarrtas. Chan eil freagairt CONNECT ùr aig ceangal ath-chleachdte, agus tha cinn-naidheachd air leth aig freagairt na làraich.

Artaigilean co-cheangailte