如何在 GET 请求 golang 中发送 JSON 正文?

http.Client.Get的文档中没有“正文”字段



红颜莎娜
浏览 261回答 2
2回答

慕桂英546537

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)

潇湘沐

不要在 GET 请求中发送正文:解释。RFC 7231说明如下:GET 请求消息中的有效负载没有定义的语义;在 GET 请求上发送有效负载正文可能会导致某些现有实现拒绝该请求。如果必须,请不要使用net/http.Get,因为它只是一个便利功能。相反,更深入一层并构造一个适当的http.Request,然后通过调用Do实例上的方法来执行http.Client(http.DefaultClient应该没问题)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go