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