1 回答

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊
您期望的正文實(shí)際上已正確發(fā)送,但可能不是您想要的方式:
POST /foo HTTP/1.1
...
Transfer-Encoding: chunked
...
Content-Type: application/x-www-form-urlencoded
...
17
demo_mail=<foo@bar.com>
0
由于您已將字符串包裝成 a ,io.NopCloser因此它會(huì)假定長度事先未知。io.Reader因此,它將使用分塊傳輸編碼來發(fā)送從長度為前綴的每個(gè)塊返回的塊,一旦一切都完成,最后一個(gè)塊的長度為 0。
如果你不想有這種行為,你需要提供一個(gè)緩沖區(qū),其中長度是預(yù)先知道的。ioutil.NopCloser這可以通過簡單地刪除周圍來完成bytes.NewBufferString:
req, err := http.NewRequest("POST", "<MY PAGE>", bytes.NewBufferString("demo_mail=" + email))
有了這個(gè),請求將使用Content-length而不是分塊傳輸編碼,并且正文將只包含字符串:
POST /foo HTTP/1.1
...
Content-Length: 23
...
Content-Type: application/x-www-form-urlencoded
...
demo_mail=<foo@bar.com>
- 1 回答
- 0 關(guān)注
- 138 瀏覽
添加回答
舉報(bào)