Go - http.Post方法返回400 Bad Request,而http.Get似乎有效

时间:2013-02-08 17:53:59

标签: http post go

使用以下代码:

//fpCode and fpParams are strings
ingestionBody := strings.NewReader(fpCode+fpParams)
resp, err := http.Post("http://192.168.1.151:8080/ingest?", "text/plain", ingestionBody)

我收到错误消息: “HTTP / 1.1 POST / ingest” - 400 Bad Request

我不知道我是否正确使用Post方法(即使在this answer中,他们似乎也以类似的方式使用它。这是我唯一能够找到的例子,不幸的是去文档缺乏示例),问题在于第二个参数,它应该是不同的东西(但我也尝试过“text / *”)或者有一些重要的东西我不知道。

2 个答案:

答案 0 :(得分:1)

如果您正在进行POST,则应该使用内容类型application/x-www-form-urlencodedmultipart/form-data

最终,您需要查看服务器日志以确定请求失败的原因。

您可以尝试http.PostForm()

答案 1 :(得分:1)

Perhpas你可以尝试http.PostForm:

form := url.Values{}
form.Add("field1", a)
form.Add("field2", b)
http.PostForm("http://192.168.1.151:8080/ingest", form)