一尘不染

如何在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)

阅读 204

收藏
2020-07-02

共1个答案

一尘不染

您基本上有正确的想法,只是发送错误的表格。该表格属于请求的正文。

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