Rumah >pembangunan bahagian belakang >Golang >Adakah Kod Permintaan My Go POST Menghantar Data Borang dengan Betul?

Adakah Kod Permintaan My Go POST Menghantar Data Borang dengan Betul?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-19 21:53:111009semak imbas

Is My Go POST Request Code Correctly Sending Form Data?

Permintaan POST dalam Go: Menyelesaikan Masalah Isu Ketersambungan

Dalam membuat permintaan POST dalam Go, adalah penting untuk memastikan ia dikonfigurasikan dan dihantar dengan betul untuk mengelakkan isu ketersambungan. Mari kita menangani cabaran biasa yang dihadapi oleh pembangun di kawasan ini.

Soalan:
Apabila cuba menghantar permintaan POST, tiada respons diterima di destinasi. Adakah coretan kod berikut pendekatan yang sah untuk membuat permintaan sedemikian?

hc := http.Client{}
req, err := http.NewRequest("POST", APIURL, nil)

form := url.Values{}
form.Add("ln", c.ln)
form.Add("ip", c.ip)
form.Add("ua", c.ua)
req.PostForm = form
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")

glog.Info("form was %v", form)
resp, err := hc.Do(req)

Jawapan:
Coretan kod yang anda berikan mempunyai isu kecil dalam cara data borang ditambahkan kepada permintaan itu. Data borang hendaklah dihantar dalam kandungan permintaan, bukan sebagai sebahagian daripada parameter URL. Berikut ialah kod yang diperbetulkan:

req, err := http.NewRequest("POST", url, strings.NewReader(form.Encode()))

Dalam kod yang diperbetulkan ini, panggilan rentetan.NewReader(form.Encode()) mengekod data borang ke dalam rentetan dan menyerahkannya kepada isi permintaan. Ini memastikan bahawa data borang dihantar dengan betul dan boleh diproses oleh pelayan.

Atas ialah kandungan terperinci Adakah Kod Permintaan My Go POST Menghantar Data Borang dengan Betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn