documentation中没有http.Client.Get
的“正文”字段。答案 0 :(得分:6)
HTTP不支持发送带有GET请求的正文。有关详细信息,请参见this Q&A。但是,即使您真的想这样做,即使您知道这是错误的,也可以这样进行:
iKnowThisBodyShouldBeIgnored := strings.NewReader("text that won't mean anything")
req, err := http.NewRequest(http.MethodGet, "http://example.com/foo", iKnowThisBodyShouldBeIgnored)
if err != nil {
panic(err)
}
res, err := http.DefaultClient.Do(req)
答案 1 :(得分:3)
请勿在GET请求中发送正文:an explanation。
RFC 7331 says以下:
GET请求消息中的有效载荷没有定义的语义; 在GET请求上发送有效内容正文可能会导致一些现有内容 拒绝请求的实现。
如果必须的话,请不要使用net/http.Get
,因为它只是一种便利功能。
相反,请更深入一层并构建适当的http.Request
,然后通过在Do
的实例上调用http.Client
方法来执行(http.DefaultClient
应该就可以了)。 / p>