首頁 >後端開發 >Golang >我的Go POST請求代碼是否正確發送表單資料?

我的Go POST請求代碼是否正確發送表單資料?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-19 21:53:111009瀏覽

Is My Go POST Request Code Correctly Sending Form Data?

Go 中的 POST 請求:解決連接問題

在 Go 中發出 POST 請求時,確保正確配置和發送請求以避免連接問題非常重要。讓我們解決該領域開發人員面臨的常見挑戰。

問題:
嘗試發送 POST 請求時,目的地未收到任何回應。以下程式碼片段是發出此類請求的有效方法嗎?

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)

答案:
您提供的程式碼片段在新增表單資料的方式上存在一個小問題到請求。表單資料應在請求內文中傳送,而不是作為 URL 參數的一部分。以下是修正後的程式碼:

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

在此修正後的程式碼中,strings.NewReader(form.Encode()) 呼叫將表單資料編碼為字串並將其指派給請求正文。這確保了表單資料正確發送並且可以被伺服器處理。

以上是我的Go POST請求代碼是否正確發送表單資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn