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 وکاروئ؛ د معیاري ډول ادعا فرض کوي چې هغه ټرانسپورټ نصب پاتې کیږي. proxyURL تحلیل کیږي، او observeConnect باید د همغږۍ له پلوه خوندي وي. د اجازه ورکړل شوو عامه HTTPS ازموینو لپاره د HTTP پراکسي لړلیک د هغه proxy URL لپاره نوماندان وړاندې کوي.

کال بیک د CONNECT د بریالي 200 څخه مخکې چلیږي، نو کولای شي 407 هم وګوري. Nil نورماله څیړنه ته دوام ورکوي او رد شوی تونل نه مني؛ تېروتنه غوښتنه ناکاموي.

X-Proxy-Region د عرضه کوونکي لخوا ټاکل شوی بېلګه ده. دلته حالت او سرلیکونه ولولئ او د بدن او socket مالکیت Transport ته پرېږدئ، چې بیا د منزل TLS اداره کوي.

دا د نوي تونل جوړېدو څارنه کوي، نه هرې غوښتنې. بیا کارول شوې اړیکه نوی CONNECT ځواب نه لري، او د وېبسایټ ځواب جلا سرلیکونه لري.

اړوندې مقالې