首頁 >後端開發 >Golang >如何透過代理驗證 HTTP 請求:解決「需要代理驗證」錯誤

如何透過代理驗證 HTTP 請求:解決「需要代理驗證」錯誤

DDD
DDD原創
2024-10-29 18:29:37232瀏覽

How to Authenticate HTTP Requests Through Proxies: Solving the

透過代理程式進行驗證的 HTTP 要求

使用代理伺服器時,HTTP 要求通常需要驗證。然而,嘗試存取具有代理資訊的網頁時,可能會出現「需要代理身份驗證」錯誤。

先前透過 Stack Overflow 和 GitHub 嘗試解決此問題的嘗試已被證明不成功。雖然「為 HTTP 用戶端設定代理」一文提供了部分解決方案,但對於某些 URL,該問題仍然存在,並提示錯誤訊息「需要代理授權」。

幸運的是,這個問題有一個簡單的解決方案。透過將以下步驟合併到程式碼中,您可以透過HTTP 請求的代理程式建立成功的驗證:

  1. 定義授權憑證:

    • 建立一個包含您的使用者名稱和密碼的字串,以冒號分隔(「使用者名稱:密碼」)。
    • 使用 base64.StdEncoding.EncodeToString 對此字串進行編碼。
    • 將編碼後的字串儲存為basicAuth .
  2. 設定傳輸代理標頭:

    • 將transport.ProxyConnectHeader初始化為 HTTP標頭物件。
    • 新增以下行以設定代理授權標頭:

      transport.ProxyConnectHeader.Add("Proxy-Authorization", "Basic " + basicAuth)

透過這些修改,您的HTTP 要求將成功透過代理進行身份驗證,從而允許存取先前需要授權的網頁。

以上是如何透過代理驗證 HTTP 請求:解決「需要代理驗證」錯誤的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn