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 關注
- 288 瀏覽
添加回答
舉報
0/150
提交
取消