Bei der Arbeit mit einem Drittanbieterpaket kann es schwierig sein, Proxy-Authentifizierung zu vorhandenem Code hinzuzufügen. In diesem Artikel wird erläutert, wie Sie den Go-HTTP-Client für die Verwendung eines authentifizierten Proxys konfigurieren.
Im bereitgestellten Code haben Sie versucht, eine Proxy-Authentifizierung mithilfe der Zeile resp.Header.Add("Proxy-Authorization", basicAuth) hinzuzufügen nach Absenden einer Anfrage. Dieser Ansatz ist jedoch möglicherweise nicht effektiv, da der Proxy-Autorisierungsheader vor dem Senden der Anfrage festgelegt werden muss.
Um dieses Problem zu beheben, sollten Sie den Code ändern, um einen benutzerdefinierten HTTP-Client mit der Proxy-Konfiguration zu erstellen. Über diesen modifizierten Client können dann Anfragen gestellt werden. Sie können dies erreichen, indem Sie:
// Create a custom HTTP client with proxy authentication httpClient := &http.Client{ Transport: &http.Transport{ Proxy: http.ProxyURL(&url.URL{ Scheme: "http", User: url.UserPassword("username", "password"), Host: "proxy.com:8080", }), }, } // Make requests using the custom HTTP client response, err := httpClient.Get(...)
Alternativ können Sie den folgenden Codeausschnitt verwenden, um die Proxy-URL zu analysieren:
proxyURL, err := url.Parse("http://username:password@proxy.com:8080") httpClient := &http.Client{ Transport: &http.Transport{ Proxy: http.ProxyURL(proxyURL), }, }
Sobald der benutzerdefinierte HTTP-Client erstellt wurde, können Sie ihn ersetzen Es ist im Drittanbieterpaket enthalten, um Anfragen mit Proxy-Authentifizierung zu verarbeiten.
Das obige ist der detaillierte Inhalt vonWie konfiguriere ich die Proxy-Authentifizierung mit dem Go HTTP-Client richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!