golang中的原始http响应

时间:2018-03-29 22:11:06

标签: python http go networking python-requests

我有一个请求我要到端点但是由于某种原因,响应主体只包含响应的最后一行(整个响应在fiddler中捕获)。如果我使用requests模块在python中重新创建请求,则会发生同样的事情。但是,我注意到如果我在python中获取整个原始响应,我能够看到所有行(由多个\r分隔)。我想知道是否有可能在python中使用response.raw.data方法查看整个原始响应。换句话说,是否有一种方法可以查看整个文本响应而不是切断除最后一行之外的所有内容?如果有人知道为什么最后一条线被切断,那么也将受到极大的赞赏。

澄清一下,这只发生在这个单一端点上,我怀疑响应体中的\r可能是罪魁祸首,但我不确定。我没有从任何其他http响应中看到此行为。

编辑:这是我用来查看回复的代码

bodyB, _ := ioutil.ReadAll(resp.Body)
bodyStr := string(bodyB)

1 个答案:

答案 0 :(得分:4)

\r是一个回车符,但不是新行,所以当你打印它时,你得到了所有的行,但每次都会被覆盖。

您可能会这样做:

bodyB, _ := ioutil.ReadAll(resp.Body)
bodyStr := string(bytes.Replace(bodyB, []byte("\r"), []byte("\r\n"), -1))