如何在Golang中发送POST请求?

我发现去http包很混乱。 我认为客户端和服务器应该分成两个不同的包,也许是一个普通的东西。

无论如何试图做出一个POST请求,但我无法完成。 没有收到另一边。 这是应该如何工作? 我知道PostForm函数,但我认为我不能使用它,因为它不能用httputiltesting正确吗?

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) 

你大多是正确的想法,这只是发送错误的forms。 表单属于请求的主体。

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