首頁 >後端開發 >Golang >如何在 Go 中查詢 URL 而不遵循重定向?

如何在 Go 中查詢 URL 而不遵循重定向?

Susan Sarandon
Susan Sarandon原創
2024-11-24 20:13:46839瀏覽

How to Query URLs in Go without Following Redirects?

在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中文網其他相關文章!

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