Python golang中的原始http响应
我有一个向端点发出的请求,但是由于某种原因,响应主体只包含响应的最后一行,整个响应都在fiddler中捕获。如果使用requests模块在python中重新创建请求,也会发生同样的情况。但是,我注意到,如果我使用python获取整个原始响应,我可以看到由多行分隔的所有行\r\n。我想知道是否可以像python中的response.raw.data方法一样在go中查看整个原始响应。换句话说,有没有一种方法可以让我看到整个文本的回应,而不是把最后一行都删掉?如果有人知道为什么最后一行被切断,我们也会非常感激 为了澄清,这只发生在这个单一端点上,我怀疑响应体中的\r可能是罪魁祸首,但我不确定。我没有从任何其他http响应中看到这种行为 编辑:这是我用来查看响应的代码Python golang中的原始http响应,python,http,go,networking,python-requests,Python,Http,Go,Networking,Python Requests,我有一个向端点发出的请求,但是由于某种原因,响应主体只包含响应的最后一行,整个响应都在fiddler中捕获。如果使用requests模块在python中重新创建请求,也会发生同样的情况。但是,我注意到,如果我使用python获取整个原始响应,我可以看到由多行分隔的所有行\r\n。我想知道是否可以像python中的response.raw.data方法一样在go中查看整个原始响应。换句话说,有没有一种方法可以让我看到整个文本的回应,而不是把最后一行都删掉?如果有人知道为什么最后一行被切断,我们也会
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))
\r是回车符,但不是新行,因此当您打印它时,您将获得所有行,但它们每次都会被覆盖
您可能希望执行以下操作:
bodyB, _ := ioutil.ReadAll(resp.Body)
bodyStr := string(bytes.Replace(bodyB, []byte("\r"), []byte("\r\n"), -1))
完成。使用response.textIn访问python中的文本响应时也会出现此问题。请尝试此函数,并确保在此之前没有其他内容读取正文,如果确实需要您自己重置正文。您可以查看DumpResponse的源代码,以了解如何在读取正文后有效地重置正文,从而允许随后再次读取正文。稍后我回到家后将尝试此操作。谢谢。你知道是什么在多个语言中引发了文本响应吗@mkopriva@JordanAllen格式错误的响应\r是回车。它指示终端在打字机上调用光标或回车时将光标或回车移到行首,并覆盖以前写入的文本。完成。使用response.textIn访问python中的文本响应时也会出现此问题。请尝试此函数,并确保在此之前没有其他内容读取正文,如果确实需要您自己重置正文。您可以查看DumpResponse的源代码,以了解如何在读取正文后有效地重置正文,从而允许随后再次读取正文。稍后我回到家后将尝试此操作。谢谢。你知道是什么在多个语言中引发了文本响应吗@mkopriva@JordanAllen格式错误的响应\r是回车。它指示终端在打字机上调用光标或回车时将光标或回车移到行首,并覆盖以前写入的文本。