Legg Gos CONNECT-hoder på Transport
Send en påkrevd header til en HTTP-proxy under CONNECT uten å legge den på destinasjonsforespørselen.
En header som legges til http.Request.Header, beskriver destinasjonsforespørselen. Når HTTPS bruker en HTTP-proxy, utfører transporten først CONNECT. Destinasjonsforespørselens hoder er ikke et generelt konfigurasjons-API for den tidligere utvekslingen.
For en statisk header som proxyen din krever, konfigurer transportens ProxyConnectHeader:
transport := &http.Transport{
Proxy: http.ProxyURL(proxyURL),
ProxyConnectHeader: http.Header{
"X-Proxy-Account": []string{"example-account"},
},
}Her er proxyURL den analyserte endepunkt-URL-en. Headeren er illustrativ og bare nyttig når proxyoperatøren definerer et slikt felt.
For en verdi som velges per proxy eller destinasjon, bruk GetProxyConnectHeader. Den dokumenterte tilbakeringingen mottar proxy-URL-en og CONNECT-målet. Når denne tilbakeringingen ikke er nil, ignoreres det statiske feltet ProxyConnectHeader.
Hold verdiene innenfor det tiltenkte omfanget. En kontomarkør bare for proxyen hører til proxyutvekslingen; en autorisasjonsverdi for et nettsted hører til destinasjonsforespørselen. Hvis en tilbakeringing ikke kan produsere den påkrevde håndtrykksverdien, returner feilen i stedet for å sende en annen konfigurert forespørsel i det stille.
Disse innstillingene tilpasser CONNECT-håndteringen. De finner ikke opp en egen autentiseringsprotokoll og endrer ikke proxy-tjenestens tilgangspolicy.