在 Go 中提取重定向后的最终 URL
在 Go 的“net/http”包中,检索经过多次重定向的 URL 可以调用自动重定向处理。然而,在不实施黑客解决方案的情况下确定最终目标 URL 可能会很困难。
解决方案:利用响应对象
幸运的是,存在更优雅的解决方案。 “http.Get”(或其他 HTTP 方法函数)返回的“Response”对象包含一个表示上次尝试访问的“Request”字段。这可用于提取最终 URL。
package main import ( "fmt" "log" "net/http" ) func main() { // Initiate a GET request for a URL subject to redirects resp, err := http.Get("https://google.com") // Replace with the target URL if err != nil { log.Fatalf("http.Get -> %v", err) } // Retrieve the final URL using the last attempted Request in the Response finalURL := resp.Request.URL.String() // Output the resolved final URL fmt.Printf("The URL you ended up at is: %s", finalURL) }
以上是如何在 Go 中提取重定向后的最终 URL?的详细内容。更多信息请关注PHP中文网其他相关文章!