Umístěte hlavičky CONNECT Go na Transport
Odešlete požadovanou hlavičku HTTP proxy během CONNECT, aniž byste ji přidali k požadavku cíle.
Hlavička přidaná do http.Request.Header popisuje požadavek cíle. Když HTTPS používá HTTP proxy, transport nejprve provede CONNECT. Hlavičky požadavku cíle nejsou obecné konfigurační API pro tuto dřívější výměnu.
Pro statickou hlavičku vyžadovanou vaší proxy nakonfigurujte ProxyConnectHeader transportu:
transport := &http.Transport{
Proxy: http.ProxyURL(proxyURL),
ProxyConnectHeader: http.Header{
"X-Proxy-Account": []string{"example-account"},
},
}Zde proxyURL je parsovaná URL koncového bodu. Hlavička je ilustrativní a užitečná jen tehdy, když operátor proxy takové pole definuje.
Pro hodnotu volenou pro každou proxy nebo cíl použijte GetProxyConnectHeader. Dokumentovaný callback obdrží URL proxy a cíl CONNECT. Když tento callback není nil, statické pole ProxyConnectHeader se ignoruje.
Udržujte hodnoty v zamýšleném rozsahu. Značka účtu určená pouze pro proxy patří k výměně s proxy; hodnota autorizace webu patří k požadavku cíle. Pokud callback nemůže vytvořit požadovanou hodnotu handshake, vraťte jeho chybu, místo abyste tiše odeslali jinak nakonfigurovaný požadavek.
Tato nastavení přizpůsobují zpracování CONNECT. Nevytvářejí vlastní autentizační protokol ani nemění zásady přístupu proxy služby.