使用第三方套件時,向現有程式碼新增代理身份驗證可能具有挑戰性。本文介紹如何設定 Go HTTP 用戶端以利用經過驗證的代理程式。
在提供的程式碼中,您嘗試使用 resp.Header.Add("Proxy-Authorization", basicAuth) 行新增代理驗證發送請求後。但是,這種方法可能無效,因為需要在發送請求之前設定代理授權標頭。
要解決此問題,您應該修改程式碼以使用代理程式設定建立自訂 HTTP 用戶端。然後可以使用這個修改過的客戶端來發出請求。您可以透過以下方式實現此目的:
// 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(...)
或者,您可以使用以下程式碼片段來解析代理URL:
proxyURL, err := url.Parse("http://username:password@proxy.com:8080") httpClient := &http.Client{ Transport: &http.Transport{ Proxy: http.ProxyURL(proxyURL), }, }
建立自訂HTTP 用戶端後,您可以替換它位於第三方包中,用於處理具有代理身份驗證的請求。
以上是如何使用 Go HTTP 用戶端正確設定代理身份驗證?的詳細內容。更多資訊請關注PHP中文網其他相關文章!