python - golang 中的原始 http 响应

标签 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)

最佳答案

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

你可能会想做:

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

关于python - golang 中的原始 http 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49565749/

相关文章:

api - 使用具有不完整表示的 PUT 方法

xml - Golang XML 解码

go - 导入未使用错误

python - 使用 MS Dynamics CRM 2016 的 REST Web API 在线进行身份验证

python - 为什么整数被认为是正无穷大?

http - "persistent connection"到底是什么意思?

http - 为什么会发送 OPTIONS 请求,我可以禁用它吗?

go - go中的斐波那契闭合

python - 即使表是空的,mySQL 也会提示重复的键

python - "import time"和 "from datetime import time"在一起?