在Go 中查詢不帶重定向的URL
在重定向腳本的基準測試中,需要在不啟動自動重定向的情況下查詢URL 。這需要阻止程式下載重定向的內容,同時仍記錄重定向 URL 或任何相關錯誤。
解決方案 1:使用 http.DefaultTransport.RoundTrip
一個方法是利用 http.Request 中的 http.DefaultTransport.RoundTrip() 函數。與 http.Client 不同,Transport 不會自動遵循重定向:
但是,此解決方案在高負載場景下可能會遇到效能問題和錯誤。
解決方案2:設定CheckRedirect 為False
或者,您可以修改http.Client 的CheckRedirect 欄位以停用自動重新導向:
此方法可確保效能一致,但無法保證每次查詢後關閉連線。
確保連接關閉
要強制關閉連接,您可以為每個請求創建一個新的HTTP客戶端:
這種方法可確保每個查詢都使用新的連接,防止因連接重複使用而導致的效能問題。
以上是如何在 Go 中查詢 URL 而不遵循重定向?的詳細內容。更多資訊請關注PHP中文網其他相關文章!