分享
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。
最近开始学习使用go,刚好公司有个需求,使用jir调用webhook后做一些操作,我使用go的http包新建了一个web服务,在获取请求体是遇到了一下问题:
使用
data, err := ioutil.ReadAll(r.Body)
if err != nil {
fmt.Println("Error reading request body:", err)
return
}
body := string(data)
fmt.Println("Request body:", body)
读取整个请求体(请求体为json格式),发现会少一两个字符,导致结果无法用json解析。
使用
bufReader := bufio.NewReader(r.Body)
defer r.Body.Close()
data := make([]byte, r.ContentLength)
_, err := bufReader.Read(data)
if err != nil {
fmt.Println("Error reading request body:", err)
return
}
body := string(data)
fmt.Println("Request body:", body)
请求体打印出出来直接少了很多内容。
不解应该从何方向入手。
PS:我也尝试使用python flask搭建一样的服务,收到的内容是正常的
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信2279 次点击
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传