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}

context, net/http සහ net/url භාවිත කරන්න; සම්මත-පෙරනිමි වර්ග ප්‍රකාශය උපකල්පනය කරන්නේ එම transport ස්ථාපිතව පවතින බවයි. proxyURL විග්‍රහ කෙරේ, සහ observeConnect සමගාමීතාව සඳහා ආරක්ෂිත විය යුතුය. අවසර ලත් පොදු HTTPS පරීක්ෂණ සඳහා HTTP proxy ලැයිස්තුව එම proxy URL සඳහා අපේක්ෂකයින් සපයයි.

Callback එක CONNECT සාර්ථක 200 දැයි පරීක්ෂා කිරීමට පෙර ක්‍රියාත්මක වේ, එබැවින් එයට 407 ද නිරීක්ෂණය කළ හැක. Nil සාමාන්‍ය පරීක්ෂාව දිගටම කරගෙන යන අතර ප්‍රතික්ෂේප වූ tunnel එකක් පිළිගන්නේ නැත; දෝෂයක් ඉල්ලීම අසාර්ථක කරයි.

X-Proxy-Region සැපයුම්කරු විසින් අර්ථ දක්වන ලද උදාහරණයකි. මෙහි තත්ත්වය සහ headers කියවා body සහ socket හි අයිතිය Transport වෙත තබන්න; එය පසුව ගමනාන්ත TLS හසුරුවයි.

මෙය නව tunnel ස්ථාපනය නිරීක්ෂණය කරයි, සෑම ඉල්ලීමක්ම නොවේ. නැවත භාවිත කළ සම්බන්ධතාවයට නව CONNECT ප්‍රතිචාරයක් නැත, සහ වෙබ් අඩවියේ ප්‍රතිචාරයට වෙන වෙනම headers ඇත.

අදාළ ලිපි