注意:为简单起见,省略了所有错误处理代码。我在本地处理它们,没有产生错误。在 Golang 中,我尝试使用下面的代码http.Request.Body从 POST 请求中读取 a :func readBody(req *http.Request) string { bytes, _ := httputils.DumpRequestOut(req, true) return string(bytes)}它显示了一个非零的 Content-Length,但没有返回任何内容:ContentLength=413 with Body length 0. 我尝试了下面的代码,也没有运气:func readBody(req *http.Request) string { bytes, _ := ioutil.ReadAll(req.Body) return string(bytes)}它返回一个空字符串。google了下,找到了一篇关于这个问题的博客:Golang: Read from an io.ReadWriter without lost its content。我试图遵循模式,但仍然没有运气:func readBody(req *http.Request) string { bodyBytes, _ := ioutil.ReadAll(req.Body) // Restore the io.ReadCloser to its original state req.Body = ioutil.NopCloser(bytes.NewBuffer(bodyBytes)) // Use the content return string(bodyBytes)}有什么建议?提前致谢 :)
- 2 回答
- 0 关注
- 840 浏览
添加回答
举报
0/150
提交
取消