Mendapatkan semula URL Akhir selepas Ubah Hala dalam Go
Dalam pakej net/http Go, dengan pengendalian ubah hala automatik, banyak URL selalunya menghasilkan satu URL terminal. Menentukan URL akhir selepas jujukan ubah hala boleh menjadi satu cabaran.
Satu penyelesaian yang mungkin tanpa menggunakan penyelesaian godam terletak pada memeriksa komponen Permintaan objek Respons. Objek Permintaan sepadan dengan URL muktamad yang diakses oleh pelanggan.
package main 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()) } finalURL := resp.Request.URL.String() fmt.Printf("The URL you ended up at is: %v\n", finalURL) }
Kod ini mendapatkan semula URL akhir selepas kemungkinan ubah hala dan mencetaknya menggunakan kaedah Request.URL.String().
Output:
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
Pendekatan ini menghapuskan keperluan untuk pengiraan yang rumit dan menyediakan cara yang mudah untuk menentukan keputusan akhir destinasi ubah hala URL dalam Go.
Atas ialah kandungan terperinci Bagaimana untuk Menentukan URL Akhir Selepas Ubah Hala dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!