De Standard-DefaultTransport vum Go setzt Proxy op ProxyFromEnvironment. En separat gebauten &http.Transport{} huet eng nil Proxy-Funktioun, déi keen Proxy auswieelt.

Dësen Ënnerscheed kann optrieden, nodeems en Transport just dobäi gesat gouf, fir eng Zäitlimite ze änneren. Wann de Standard nach installéiert ass, klont en a ännert d'Feld, dat Dir braucht:

transport := http.DefaultTransport.(*http.Transport).Clone()
transport.ResponseHeaderTimeout = 15 * time.Second

client := &http.Client{
    Transport: transport,
    Timeout: 30 * time.Second,
}

De Klon behält d'Ëmfeld-Proxy-Auswiel an déi aner Standardastellunge vum Transport. D'Typ-Assertion geet dovun aus, datt d'Applikatioun DefaultTransport net duerch en aneren RoundTripper ersat huet.

Fir en Transport, deen absichtlech vun Null u gebaut gouf, setzt Proxy: http.ProxyFromEnvironment explizit, wann dat seng Routing-Politik ass. Eng explizit ProxyURL-Funktioun dréckt eng aner Politik aus: een ausgewielte Vermëttler.

Konfiguréiert den Transport, ier gläichzäiteg Ufroen en benotzen, an da benotzt en erëm fir d'Aarbechtslaascht. En gemeinsam Standardobjekt ze änneren kann onverbonne Clienten beaflossen.

Personaliséiert TLS-Astellunge sinn getrennt. D'Zertifikatsprüfung auszeschalten ass net néideg, fir d'Proxy-Entdeckung ze behalen, an et géif d'Sécherheet vun all passenden HTTPS-Ufro änneren.

Ähnlech Artikelen