0

我完全迷失了,因为我不知道自己做错了什么。

我想向某个地址发出一个简单的 POST 请求。我使用 Firefox 访问了该网站,打开了它的终端,将 POST 请求复制为 cURL 并在终端中执行。收到的响应状态为 200,但它的正文像“������q9i”一样不可读。

但是当我使用 Postman->Import->cURL 并执行请求时它可以工作吗?!也是状态 200,但这次正文包含正确可读的 html 代码,正如预期的那样。所以我想也许是因为 Postman 调整了请求。于是我打开了程序右侧的代码面板,再次将Postman的请求导出为cURL、python-http.client和python-request,但都没有工作?!我又一次收到了一个无法阅读的尸体。这到底是怎么发生的?

我对所有请求都使用同一台机器,没有 VPN 或其他东西,因此它与 IP 地址无关。没有身份验证或任何东西。

我可能注意到了一个提示:在 Postman 中收到的响应比在 cURL 或 python 中收到的响应短一个字节。这可能是问题吗?Postman 是否以不同的方式处理响应的正文?

我非常感谢任何帮助!

4

1 回答 1

1

cURL 显示正文的原始响应,而 Postman 和 Firefox 处理响应。在你的情况下,我怀疑你请求一个带有标题的压缩响应,如Accept-Encoding: gzip, deflate. 如果删除该标头,您将获得未压缩的响应。

如果您的请求中没有此类标头,那么最好查看您尝试执行的请求。

于 2022-02-07T16:38:09.713 回答