在Http.Go 中提取重定向後的最終URL
在使用http.NewRequest 發出HTTP 請求時,您可能會遇到需要在任何重定向後從最終URL 提取查詢字串。 Response 物件本身並不會提供對最終 URL 的存取。
要在重定向後檢索 URL:
以下是演示此方法的程式碼片段:
req, err = http.NewRequest("GET", URL, nil) cl := http.Client{} var lastUrlQuery string cl.CheckRedirect = func(req *http.Request, via []*http.Request) error { if len(via) > 10 { return errors.New("too many redirects") } lastUrlQuery = req.URL.RequestURI() return nil } resp, err := cl.Do(req) if err != nil { log.Fatal(err) } fmt.Printf("last url query is %v", lastUrlQuery)
透過使用此技術,您可以在所有重定向發生後捕獲最終URL,從而允許您從最終目的地存取查詢字串和其他資訊。
以上是如何在 Go 的 `http.Client` 中取得重新導向後的最終 URL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!