http.Client.Get的文档中没有“正文”字段
2 回答
慕桂英546537
TA贡献1848条经验 获得超10个赞
HTTP 不支持使用 GET 请求发送正文。有关完整详细信息,请参阅此问答。但是如果你真的想这样做,即使你知道这是错误的,你也可以这样做:
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)
潇湘沐
TA贡献1816条经验 获得超6个赞
不要在 GET 请求中发送正文:解释。
RFC 7231说明如下:
GET 请求消息中的有效负载没有定义的语义;在 GET 请求上发送有效负载正文可能会导致某些现有实现拒绝该请求。
如果必须,请不要使用
net/http.Get
,因为它只是一个便利功能。
相反,更深入一层并构造一个适当的http.Request
,然后通过调用Do
实例上的方法来执行http.Client
(http.DefaultClient
应该没问题)。
- 2 回答
- 0 关注
- 260 浏览
添加回答
举报
0/150
提交
取消