首頁 > 後端開發 > Golang > 如何在 Go 中正確設定 HTTP 代理驗證?

如何在 Go 中正確設定 HTTP 代理驗證?

Linda Hamilton
發布: 2024-12-16 03:24:10
原創
653 人瀏覽過

How to Properly Configure HTTP Proxy Authentication in Go?

Go 中具有身份驗證的HTTP 代理

設定具有HTTP 請求身份驗證的代理可能具有挑戰性,尤其是將其合併到現有第三方代碼中時。本文深入探討了嘗試將代理身份驗證新增至現有程式碼庫時遇到的特定問題。

問題陳述:

提供的程式碼片段建立了一個沒有驗證的 HTTP 代理程式使用具有 ProxyURL 函數的傳輸物件。但是,在 POST 請求後向回應對像新增 Proxy-Authorization 標頭無法對代理進行驗證。

解決方案:

要解決此問題,請直接指定傳輸物件中帶有驗證憑證的代理 URL。

// Create an HTTP client with proxy authentication
client := &http.Client{
  Transport: &http.Transport{
    Proxy: http.ProxyURL(&url.URL{
      Scheme: "http",
      User:   url.UserPassword("username", "password"),
      Host:   "proxy.com:8080",
    }),
  },
}

// Use the client to make requests with proxy authentication
resp, err := client.PostForm(method, params)
登入後複製

或者,也可以解析代理 URL

// Parse the proxy URL
proxyURL, _ := url.Parse("http://username:password@proxy.com:8080")

// Create an HTTP client with proxy authentication
client := &http.Client{
  Transport: &http.Transport{
    Proxy: http.ProxyURL(proxyURL),
  },
}

// Use the client to make requests with proxy authentication
resp, err := client.PostForm(method, params)
登入後複製

此方法可確保將代理憑證合併到傳輸物件中,從而允許 HTTP POST 要求使用經過驗證的代理程式。

以上是如何在 Go 中正確設定 HTTP 代理驗證?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板