2 回答

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊
HTTP 不支持使用 GET 請(qǐng)求發(fā)送正文。有關(guān)完整詳細(xì)信息,請(qǐng)參閱此問答。但是如果你真的想這樣做,即使你知道這是錯(cuò)誤的,你也可以這樣做:
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貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個(gè)贊
不要在 GET 請(qǐng)求中發(fā)送正文:解釋。
RFC 7231說明如下:
GET 請(qǐng)求消息中的有效負(fù)載沒有定義的語(yǔ)義;在 GET 請(qǐng)求上發(fā)送有效負(fù)載正文可能會(huì)導(dǎo)致某些現(xiàn)有實(shí)現(xiàn)拒絕該請(qǐng)求。
如果必須,請(qǐng)不要使用
net/http.Get
,因?yàn)樗皇且粋€(gè)便利功能。
相反,更深入一層并構(gòu)造一個(gè)適當(dāng)?shù)?a >http.Request
,然后通過調(diào)用Do
實(shí)例上的方法來(lái)執(zhí)行http.Client
(http.DefaultClient
應(yīng)該沒問題)。
- 2 回答
- 0 關(guān)注
- 294 瀏覽
添加回答
舉報(bào)