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
Lepaskan: 2024-12-28 15:06:10
asal
963 orang telah melayarinya

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())
Salin selepas log masuk

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

request, err := http.NewRequest(http.MethodPost, urlStr, &encoder)
Salin selepas log masuk

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")
Salin selepas log masuk

Akhir sekali, kami bersedia untuk menghantar permintaan:

resp, err := http.DefaultClient.Do(request)
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan