Tartsa meg a ProxyFromEnvironment beállítást a Go HTTP-transzport testreszabásakor
Őrizze meg a Go környezeti proxyválasztását, amikor a transzport időkorlátait vagy kapcsolatkészleteit szabja testre, ahelyett hogy az alapértelmezettet nulla értékű Proxy mezővel helyettesítené.
A Go szabványos DefaultTransportja a Proxy mezőt ProxyFromEnvironment-re állítja. Egy külön létrehozott &http.Transport{} Proxy függvénye nil, ezért nem választ proxyot.
Ez a különbség akkor jelenhet meg, ha csak egy időkorlát módosításához adott hozzá transzportot. Ha a szabványos alapértelmezett még telepítve van, klónozza, és módosítsa a szükséges mezőt:
transport := http.DefaultTransport.(*http.Transport).Clone()
transport.ResponseHeaderTimeout = 15 * time.Second
client := &http.Client{
Transport: transport,
Timeout: 30 * time.Second,
}A klón megőrzi a környezeti proxyválasztást és a transzport többi alapértelmezett beállítását. A típusellenőrzés feltételezi, hogy az alkalmazás nem cserélte le a DefaultTransportot másik RoundTripperre.
A szándékosan nulláról épített transzportnál állítsa be kifejezetten a Proxy: http.ProxyFromEnvironment értéket, ha ez az útválasztási szabályzata. Egy kifejezett ProxyURL függvény más szabályzatot fejez ki: egy kiválasztott közvetítő.
A transzportot azelőtt konfigurálja, hogy párhuzamos kérések használnák, majd a munkaterheléshez újra használja. Egy megosztott alapértelmezett objektum módosítása nem kapcsolódó ügyfeleket is érinthet.
Az egyéni TLS-beállítások különállóak. A tanúsítvány-ellenőrzés kikapcsolása nem szükséges a proxyfelismerés megőrzéséhez, és minden megfelelő HTTPS-kérés biztonságát megváltoztatná.