Menentukan URL Akhir Selepas Ubah hala dalam Go
Dalam pakej net/http Go, apabila membuat permintaan GET atau POST, anda mungkin menghadapi situasi di mana pelayan bertindak balas dengan ubah hala. Untuk mengendalikan ini secara automatik, pelanggan melakukan ubah hala secara telus di latar belakang. Walau bagaimanapun, ini boleh menyukarkan untuk menentukan URL akhir yang dicapai selepas beberapa siri ubah hala.
Nasib baik, Go menyediakan penyelesaian yang mudah dan berkesan untuk mendapatkan semula URL akhir. Dalam respons HTTP, objek Permintaan mengandungi URL akhir yang dicuba oleh pelanggan.
Berikut ialah contoh yang menunjukkan cara mendapatkan URL akhir:
package main import ( "fmt" "log" "net/http" ) func main() { // Perform the request. It could go through multiple redirections. resp, err := http.Get("http://example.com/path/to/resource") if err != nil { log.Fatalf("http.Get => %v", err.Error()) } // Extract the final URL from the request in the response. finalURL := resp.Request.URL.String() fmt.Println("The final URL reached is:", finalURL) }
Dalam kod ini, objek Permintaan dalam respons HTTP memegang URL akhir selepas semua ubah hala telah berlaku. Program ini mencetak URL akhir ini ke konsol.
Pendekatan ini lebih bersih daripada menggunakan penyelesaian hackish dan memberi anda akses terus ke URL terakhir yang diakses oleh pelanggan. Ia memastikan anda boleh menjejak dan merekod keseluruhan rantai ubah hala dengan mudah, jika perlu.
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!