Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Membuat Permintaan POST Berkod URL dengan `http.NewRequest(...)` Go?

Bagaimana untuk Membuat Permintaan POST Berkod URL dengan `http.NewRequest(...)` Go?

Linda Hamilton
Linda Hamiltonasal
2024-12-28 15:06:10969semak imbas

How to Make URL-Encoded POST Requests with Go's `http.NewRequest(...)`?

Permintaan POST Berkod URL HTTP melalui http.NewRequest(...)

Data berkod borang ialah teknik asas untuk menghantar data melalui HTTP. Format pengekodan data ini disokong secara meluas dan digunakan dalam pelbagai senario. Mari kita teroka pendekatan untuk membuat permintaan POST menggunakan http.NewRequest(...) sambil mengekalkan kawalan ke atas pengepala permintaan.

Untuk menghantar data yang dikodkan URL, muatan tidak seharusnya dilampirkan pada URL sebaliknya dihantar melalui badan permintaan. Ini melibatkan mencipta bait.Penimbal yang menyimpan data dikodkan borang kami:

data := url.Values{}
data.Set("name", "foo")
data.Set("surname", "bar")
encoder := bytes.Buffer{}
encoder.WriteString(data.Encode())

Kini, kami boleh mencipta http.Request kami dan melampirkan penimbal pada badan:

request, err := http.NewRequest(http.MethodPost, urlStr, &encoder)

Memandangkan kami berurusan dengan data berkod bentuk, kami perlu menetapkan jenis kandungan yang betul dalam pengepala:

request.Header.Set("Content-Type", "application/x-www-form-urlencoded")

Akhir sekali, kami bersedia untuk menghantar permintaan:

resp, err := http.DefaultClient.Do(request)

Dengan mengikuti langkah ini, anda boleh berjaya membuat permintaan POST yang dikodkan URL dengan http.NewRequest (...) dan pengepala permintaan tersuai. Ingat bahawa data yang dikodkan URL hendaklah dihantar dalam kandungan permintaan dan pengepala jenis kandungan hendaklah ditetapkan dengan sewajarnya.

Atas ialah kandungan terperinci Bagaimana untuk Membuat Permintaan POST Berkod URL dengan `http.NewRequest(...)` Go?. 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