使用具有身份驗證的http 代理
對於需要帶有身份驗證的代理的場景,使用PostForm 方法可能具有挑戰性。本文探討了此問題的解決方法。
初始方法及其限制
通常,在請求中設定 Proxy-Authorization 標頭就足以進行身份驗證。但是,當嘗試修改第三方套件並新增代理支援時,建立用戶端後新增代理授權標頭可能不夠。
替代解決方案
另一種方法是建立具有所需代理程式配置的自訂 HTTP 用戶端。然後可以將此客戶端替換到第三方包。
程式碼片段:
client := &http.Client{ Transport: &http.Transport{ Proxy: http.ProxyURL(&url.URL{ Scheme: "http", User: url.UserPassword("username", "password"), Host: "146.137.9.45:65233", }), }, }
此客戶端可以在第三方包中使用,而不是每次建立一個新客戶端。
或者,可以解析代理URL直接:
url, _ := url.Parse("http://username:[email protected]:65233") client := &http.Client{ Transport: &http.Transport{ Proxy: http.ProxyURL(url), }, }
透過使用這個量身定制的客戶端,可以將帶有身份驗證的代理無縫集成到第三方包中,從而透過PostForm 方法實現經過驗證的代理請求。
以上是如何使用 PostForm 驗證 Go HTTP 代理請求?的詳細內容。更多資訊請關注PHP中文網其他相關文章!