Apabila menulis aplikasi web menggunakan Golang, kadangkala anda perlu mendapatkan alamat permintaan (URL) yang dimasukkan oleh pengguna dalam penyemak imbas. Proses ini sangat mudah, hanya gunakan pakej net/http terbina dalam Go untuk menyelesaikannya.
Pertama, kita perlu mencipta pengendali HTTP. Boleh dilanjutkan berdasarkan pengendali HTTP sedia ada atau ditulis dari awal. Berikut ialah contoh pengendali HTTP mudah yang hanya mengembalikan mesej "Hello, World!":
package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, World!") }) http.ListenAndServe(":8080", nil) }
Fungsi http.HandleFunc
dalam kod melaksanakan penghala yang memetakan permintaan kepada fungsi pengendali dan http.ListenAndServe
fungsi memulakan pelayan HTTP pada port 8080.
Seterusnya, kita perlu mendapatkan URL permintaan daripada objek permintaan http.Request
. Dalam fungsi pengendali, ia boleh diperolehi melalui r.URL
. Ambil perhatian bahawa URL
ialah struktur dan kita perlu menggunakan kaedah String()
nya untuk menukarnya kepada bentuk rentetan. Berikut ialah kod untuk mendapatkan URL permintaan:
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Your request URL path is: %s", r.URL.String()) })
Kod di atas mencetak bahagian laluan URL permintaan (iaitu bahagian selepas "/") kepada respons HTTP.
Jika kita perlu mendapatkan URL permintaan lengkap (termasuk rentetan pertanyaan, dll.), maka kita boleh menggunakan kaedah r.URL.RequestURI()
:
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Your request URL is: %s", r.URL.RequestURI()) })
Kod di atas akan mencetak URL permintaan lengkap ke bahagian tengah respons HTTP.
Selain mendapatkan URL permintaan, objek http.Request
juga menyediakan banyak maklumat lain, seperti kaedah permintaan, pengepala permintaan, badan permintaan, dll. Melalui mereka, kami boleh menulis pengendali HTTP yang lebih fleksibel dan kaya dengan ciri.
Ringkasan:
Mendapatkan alamat permintaan di Golang adalah sangat mudah, hanya gunakan kaedah http.Request
atau URL
dalam objek RequestURI
. Sebagai pembangun, kita harus biasa dengan maklumat HTTP asas ini untuk mengawal aplikasi web kita dengan lebih terperinci.
Atas ialah kandungan terperinci golang mendapat alamat permintaan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!