Go http:將收到的HTTP 請求傳送到另一台伺服器
在服務版本共存的場景下,可能需要複製傳入的HTTP 請求以保持相容性。本文探討了一種使用 Go 程式語言將一個服務收到的請求重新導向到另一個服務的方法。
挑戰:
使用者在嘗試複製 POST 時遇到問題Go 服務中的請求到單獨的服務。設置req.URL.Host和req.Host直接導致錯誤“http: Request.RequestURI can't be set in client requests.”
解決方案:
建議的方法是建立一個新的http.Request 物件並選擇性地從原始請求中複製所需的部分。這可確保為第二個請求正確設定 RequestURI。此外,如果需要重複使用請求正文,則應將其緩衝並指派給新請求的正文。
Go 程式碼範例:
這個方法有效地將傳入的 HTTP 要求傳送到其他伺服器,同時尊重 RequestURI 和其他關鍵 HTTP 參數。
以上是如何在 Go 中將 HTTP 請求轉送到另一台伺服器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!