Mengakses Rentetan Pertanyaan dalam Permintaan POST Menggunakan Pakej HTTP Go
Apabila bekerja dengan permintaan HTTP POST dalam Go menggunakan pakej http, anda mungkin menghadapi keperluan untuk mengakses dan menghuraikan parameter rentetan pertanyaan. Walaupun ketiadaan dokumentasi eksplisit, ini boleh dicapai melalui kaedah Query() bagi objek Request.
Mendapatkan kembali Parameter Rentetan Pertanyaan
Sintaks untuk mengekstrak rentetan pertanyaan maklumat kelihatan seperti ini:
func (r *Request) Query() Values
Kaedah Query() mengembalikan objek Values, yang pada asasnya ialah struktur seperti peta dengan kekuncinya ialah nama parameter dan nilainya ialah tatasusunan rentetan yang mewakili nilai parameter yang berkaitan.
Contoh Penggunaan
Pertimbangkan POST URL permintaan dengan rentetan pertanyaan seperti http://host:port/something?param1=b. Menggunakan kaedah Query(), anda boleh mendapatkan semula parameter rentetan pertanyaan seperti berikut:
func newHandler(w http.ResponseWriter, r *http.Request) { fmt.Println("GET params were:", r.URL.Query()) // Get a single parameter param1 := r.URL.Query().Get("param1") if param1 != "" { // Process the parameter } // Get all occurrences of a parameter param1s := r.URL.Query()["param1"] if len(param1s) > 0 { // Process the parameters } }
Perhatikan bahawa kekunci dalam objek Values (iaitu, nama parameter) adalah sensitif huruf besar-kecil.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Rentetan Pertanyaan dalam Permintaan HTTP POST Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!