2 回答
TA贡献1853条经验 获得超18个赞
这是 http 1.1 分块响应。该协议将发送格式:
size-of-chunk-in-hex
chunk
...
最终块大小为 0 表示响应结束。您的示例显示响应为 13550 字节,并以一个块发送。
TA贡献1873条经验 获得超9个赞
您正在处理分块响应。我不确定您的最终目标是什么,但有几种不同的选择。消息来源本身说;
// Body represents the response body.
//
// The http Client and Transport guarantee that Body is always
// non-nil, even on responses without a body or responses with
// a zero-length body. It is the caller's responsibility to
// close Body.
//
// The Body is automatically dechunked if the server replied
// with a "chunked" Transfer-Encoding.
Body io.ReadCloser
所以例如这里; response, err := ioutil.ReadAll(resp.Body)在您中继来自其他服务的响应的地方,您可以通过使提供的服务resp设置一个 Transfer-Encoding 标头并使用分块值来解决问题,假设您也可以访问该 api。如果您只在这个中间层工作,那么您必须在编写响应之前自己拆分响应。如果您在 Fiddler 中监控的请求没有chunkedTransfer-Encoding,只需添加它可能会导致 Fiddler 将其显示为与您在 Postman 中看到的相同。
- 2 回答
- 0 关注
- 153 浏览
添加回答
举报