在Go 中使用代理對HTTP 請求進行身份驗證
處理HTTP 請求時,通常會遇到需要使用代理的情況帶身份驗證的代理。這可能是由於網路限製或為了提高效能。然而,在 Go 中設定帶有身份驗證的代理可能有點棘手。
net/http 套件(Go 中處理 HTTP 請求的標準庫包)的文檔提供瞭如何使用代理的範例,但是它們沒有明確解決經過身份驗證的代理的情況。為了解決這個問題,您需要在傳輸中設定 HEADER 以正確授權您的代理請求。
以下是如何使用Go 中的net/http 套件在HTTP 請求中使用帶有身份驗證的代理:
聲明身份驗證憑證: 首先聲明代理程式的使用者名稱和密碼
auth := "username:password"
對憑證進行編碼:使用base64 編碼對憑證進行編碼。
basicAuth := "Basic " base64.StdEncoding.EncodeToString([]byte(auth))
設定Pro&ConnectHeader: 創建一個http.Header來保存代理授權標頭並添加編碼憑證。
transport.ProxyConnectHeader = http.Header{}
transport.ProxyConnectHeader.Add("Proxy-Authorization", basicAuth)
使用傳輸: 對 HTTP 請求使用修改後的傳輸。
client := &http.Client{
Transport: transport,
}
依照下列步驟,您可以在 Go 中的 HTTP 要求中成功使用具有驗證的代理程式。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3