优雅的读取http哀求或相应的数据
发布时间:2019-01-28 13:03:14 所属栏目:教程 来源:戚银
导读:从 http.Request.Body 或 http.Response.Body 中读取数据要领或者许多,尺度库中大大都行使 ioutil.ReadAll 要领一次读取全部数据,假如是 json 名目标数据还可以行使 json.NewDecoder 从 io.Reader 建设一个理会器,倘使行使 pprof 来说明措施老是会发明
上线之后顿时产生了错误 http: ContentLength=2090 with Body length 0 发送哀求的时辰从 buffer 读取数据发明数据不见了可能数据不足了,我去这是什么鬼,顿时回滚规复营业,然后说明 http.DefaultClient.Do(req) 和 http.NewRequest,在挪用 http.NewRequest 是并没有从 buffer 读取数据,而只是建设了一个 req.GetBody 之后在 http.DefaultClient.Do 是才读取数据,由于在 http.DefaultClient.Do 之前把 buffer 放回到缓冲池中,其余 goroutine 获取到 buffer 并举办 Reset 就产生了数据争用,虽然会导致数据读取不完备了,真实汗颜,对 http.Client 相识太少,争取有空撸一遍源码。 总结 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |