Golang 中重定向後確定最終URL
Golang 的net/http 套件中,HTTP GET 請求會遇到重定向,從而導致到與初始請求不同的最終目標URL。這種困境提出了一個問題:我們如何確定一系列重定向後到達的最終 URL,而不採用繁瑣的解決方法?
解決方案
與假設相反一種 hackish 方法是必要的,HTTP GET 操作返回的 Response 物件中存在一個乾淨且簡單的解決方案。該對象保存發起請求的 Request 對象,該對象提供對存取的最終 URL 的存取。
import ( "fmt" "log" "net/http" ) func main() { resp, err := http.Get("http://stackoverflow.com/q/16784419/727643") if err != nil { log.Fatalf("http.Get => %v", err.Error()) } // Function to retrieve the final URL finalURL := resp.Request.URL.String() fmt.Printf("The URL you ended up at is: %v", finalURL) }
輸出:
The URL you ended up at is: http://stackoverflow.com/questions/16784419/in-golang-how-to-determine-the-final-url-after-a-series-of-redirects
此方法允許輕鬆檢索最終 URL經過任意次數的重定向後。無需額外的自訂或全域變數操作,確保乾淨且有效率的實作。
以上是如何確定 Golang 重新導向後的最終 URL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!