Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python golang中的原始http响应_Python_Http_Go_Networking_Python Requests - Fatal编程技术网

Python golang中的原始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中查看整个原始响应。换句话说,有没有一种方法可以让我看到整个文本的回应,而不是把最后一行都删掉?如果有人知道为什么最后一行被切断,我们也会

我有一个向端点发出的请求,但是由于某种原因,响应主体只包含响应的最后一行,整个响应都在fiddler中捕获。如果使用requests模块在python中重新创建请求,也会发生同样的情况。但是,我注意到,如果我使用python获取整个原始响应,我可以看到由多行分隔的所有行\r\n。我想知道是否可以像python中的response.raw.data方法一样在go中查看整个原始响应。换句话说,有没有一种方法可以让我看到整个文本的回应,而不是把最后一行都删掉?如果有人知道为什么最后一行被切断,我们也会非常感激

为了澄清,这只发生在这个单一端点上,我怀疑响应体中的\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))
\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是回车。它指示终端在打字机上调用光标或回车时将光标或回车移到行首,并覆盖以前写入的文本。