Mengekstrak URL Akhir dalam Go selepas Lencongan
Dalam pakej "net/http" Go, mendapatkan semula URL yang mengalami pelbagai ubah hala boleh menggunakan pengendalian ubah hala automatik. Walau bagaimanapun, penentuan URL destinasi akhir boleh terbukti mencabar tanpa melaksanakan penyelesaian yang meretas.
Penyelesaian: Memanfaatkan Objek Tindak Balas
Mujurlah, penyelesaian yang lebih elegan wujud. Objek "Respons" yang dikembalikan oleh "http.Get" (atau fungsi kaedah HTTP lain) mengandungi medan "Permintaan" yang mewakili percubaan akses terakhir. Ini boleh digunakan untuk mengekstrak URL akhir.
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) }
Atas ialah kandungan terperinci Bagaimanakah Saya Mengekstrak URL Akhir Selepas Ubah Hala dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!