我如何调试一个HTTP POST在Chrome?

我想查看在Chrome中发送的HTTP POST数据。

数据现在在内存中,我可以重新提交表单。

我知道如果我重新提交,服务器会抛出一个错误。有没有办法,我可以查看数据,是在Chrome的内存?

462993 次浏览
  1. 转到Chrome开发工具(Chrome菜单->更多工具->开发工具)
  2. 选择“网络”页签
  3. 刷新您所在的页面
  4. 您将获得在网络控制台打开时发生的http查询的列表。在左边选择一个
  5. 选择“Headers”选项卡

瞧!

enter image description here

你可以使用Chrome金丝雀版来查看POST请求的有效负载。

Request payload

你可以用Chrome DevTools来过滤HTTP POST请求。只需要做以下几点:

    打开Chrome DevTools (Mac上的Cmd+选择+, Mac上的Ctrl+转变+F12) Windows),然后点击“网络”选项卡
  1. 点击“过滤器”图标
  2. 输入您的筛选方法:method:POST
  3. 选择要调试的请求
  4. 查看要调试的请求的详细信息

截图

Chrome DevTools

Chrome版本53测试。

其他人给出了非常好的答案,但我想用一个额外的开发工具来完成他们的工作。它被称为实时HTTP报头,你可以将它安装到你的火狐中,在< em > < / em >铬中我们有类似的插件。

用它工作很容易。

  1. 使用你的火狐浏览器,导航到你想要得到你的帖子请求的网站。

  2. 在您的Firefox菜单Tools->Live Http Headers

  3. 弹出一个新窗口,所有http方法的详细信息都会保存在这个窗口中。在这一步中您不需要做任何事情。

  4. 在网站上,做一个活动(登录,提交表单等)

  5. 看看你的插电窗。这一切都被记录下来了。

只要记住你需要检查 < em > < / em >捕获

enter image description here

它有一个棘手的情况:如果你提交了一个post表单,那么Chrome会打开一个新选项卡来发送请求。直到现在,它都是正确的,但是如果它触发了下载文件(s)事件,这个选项卡将立即关闭,这样你就不能在Dev Tool中捕获这个请求。

< p >解决方案: 在提交post表单之前,你需要切断网络,这使得请求不能成功发送,这样选项卡就不会被关闭。然后你可以在Chrome Devtool中捕获请求消息(如果需要,刷新新选项卡)

另一个可能有用的选项是专用的HTTP调试工具。有一些可用的方法,我建议HTTP工具包:我一直在做的一个开源项目(是的,我可能有偏见),为自己解决这个问题。

主要的区别是可用性&权力。Chrome开发工具非常适合做简单的事情,我建议从那里开始,但如果你很难理解那里的信息,你需要更多的解释或更强大的功能,那么合适的工具会很有用!

在这种情况下,它将向你显示你正在寻找的完整POST正文,并带有友好的编辑器和高亮显示(均由VS代码提供支持),以便你可以挖掘。它会给你一个请求当然是响应头,但是有额外的信息,比如来自MDN (Mozilla开发者网络)的文档,用于每个标准头和状态代码。

一张图片抵得上一千张。

< a href = " https://httptoolkit。tech" rel="noreferrer"> HTTP Toolkit显示POST请求及其主体的截图 . net ">

网络标签是所有你需要…

enter image description here

Chrome 96 DevTools网络标签;

点击请求后,会有一个“有效载荷”;选项卡,显示表单数据:

enter image description here

您可以查看url编码/解码的数据:

![enter image description here .

您可以将数据视为source / parsed:

enter image description here

即使方法是GET你可以看到负载作为查询字符串参数:

enter image description here