Загаловак, дададзены да http.Request.Header, апісвае запыт прызначэння. Калі HTTPS выкарыстоўвае HTTP-проксі, transport спачатку выконвае CONNECT. Загалоўкі запыту прызначэння не з'яўляюцца агульным API канфігурацыі для гэтага папярэдняга абмену.

Для статычнага загалоўка, патрабаванага вашым проксі, наладзьце ProxyConnectHeader у transport:

transport := &http.Transport{
    Proxy: http.ProxyURL(proxyURL),
    ProxyConnectHeader: http.Header{
        "X-Proxy-Account": []string{"example-account"},
    },
}

Тут proxyURL — гэта разабраны URL канчатковай кропкі. Загаловак прыведзены для прыкладу і карысны толькі тады, калі аператар проксі вызначае такое поле.

Для значэння, якое выбіраецца для кожнага проксі або прызначэння, выкарыстоўвайце GetProxyConnectHeader. Дакументаваны зваротны выклік атрымлівае URL проксі і мэту CONNECT. Калі гэты выклік не роўны nil, статычнае поле ProxyConnectHeader ігнаруецца.

Трымайце значэнні ў межах прызначанага ахопу. Маркер уліковага запісу, прызначаны толькі для проксі, належыць абмену з проксі; значэнне аўтарызацыі вэб-сайта належыць запыту прызначэння. Калі зваротны выклік не можа выдаць патрабаванае значэнне рукапаціскання, вярніце яго памылку замест таго, каб моўчкі адпраўляць па-іншаму наладжаны запыт.

Гэтыя налады адаптуюць апрацоўку CONNECT. Яны не ствараюць уласны пратакол аўтэнтыфікацыі і не змяняюць палітыку доступу сэрвісу проксі.

Падобныя артыкулы