Pon os cabeceiras CONNECT de Go no Transport
Envía unha cabeceira obrigatoria a un proxy HTTP durante CONNECT sen poñela na petición de destino.
Unha cabeceira engadida a http.Request.Header describe a petición de destino. Cando HTTPS usa un proxy HTTP, o transport realiza primeiro CONNECT. As cabeceiras da petición de destino non son unha API de configuración xeral para ese intercambio anterior.
Para unha cabeceira estática que exixa o teu proxy, configura o ProxyConnectHeader do transport:
transport := &http.Transport{
Proxy: http.ProxyURL(proxyURL),
ProxyConnectHeader: http.Header{
"X-Proxy-Account": []string{"example-account"},
},
}Aquí proxyURL é a URL do punto final analizada. A cabeceira é ilustrativa e só é útil cando o operador do proxy define ese campo.
Para un valor escollido por proxy ou destino, usa GetProxyConnectHeader. A función de retorno documentada recibe a URL do proxy e o obxectivo CONNECT. Cando esta función non é nil, ignórase o campo estático ProxyConnectHeader.
Mantén os valores no ámbito previsto. Unha marca de conta só para o proxy pertence ao intercambio co proxy; un valor de autorización dun sitio web pertence á petición de destino. Se unha función de retorno non pode producir o valor de aperta de mans requirido, devolve o seu erro en vez de enviar silenciosamente unha petición configurada doutro xeito.
Estes axustes personalizan o tratamento de CONNECT. Non inventan un protocolo de autenticación propio nin cambian a política de acceso do servizo de proxy.