En rubrik som läggs till i http.Request.Header beskriver förfrågan till målet. När HTTPS använder en HTTP-proxy utför transporten först CONNECT. Rubrikerna i förfrågan till målet är inte ett allmänt konfigurations-API för det tidigare utbytet.

För en statisk rubrik som din proxy kräver, konfigurera transportens ProxyConnectHeader:

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

Här är proxyURL den parsade slutpunkts-URL:en. Rubriken är illustrativ och bara användbar när proxyoperatören definierar ett sådant fält.

För ett värde som väljs per proxy eller mål, använd GetProxyConnectHeader. Den dokumenterade återkallelsen tar emot proxy-URL:en och CONNECT-målet. När denna återkallelse inte är nil ignoreras det statiska fältet ProxyConnectHeader.

Håll värdena inom det avsedda omfånget. En kontomarkering enbart för proxyn hör till proxyutbytet; ett auktoriseringsvärde för en webbplats hör till förfrågan till målet. Om en återkallelse inte kan producera det nödvändiga handskakningsvärdet, returnera dess fel i stället för att tyst skicka en annorlunda konfigurerad förfrågan.

Dessa inställningar anpassar CONNECT-hanteringen. De hittar inte på ett eget autentiseringsprotokoll och ändrar inte proxytjänstens åtkomstpolicy.

Relaterade artiklar