一尘不染

如何在 Go 中发送 POST 请求?

go

我正在尝试发出 POST 请求,但无法完成。另一边什么也没有收到。

这是它应该如何工作?我知道这个PostForm功能,但我想我不能使用它,因为它不能用 测试httputil,对吧?

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)

阅读 228

收藏
2021-12-07

共1个答案

一尘不染

你的想法大多是正确的,只是表格的发送是错误的。该表单属于请求的正文。

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