如何在Chrome中调试HTTP POST?


196

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

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

我知道,如果我重新提交服务器将抛出错误,是否仍然可以查看Chrome内存中的数据?


这里有一个很好的视频吉夫示例,介绍了如何转到网络标签:wpza.net/using-google-chrome-to-capture-post-data-word-wordpress
WPZA

Answers:


232
  1. 转到Chrome开发者工具(Chrome菜单->更多工具->开发者工具)
  2. 选择“网络”标签
  3. 刷新您所在的页面
  4. 在网络控制台开启时,您将获得发生的http查询的列表。在左侧选择其中之一
  5. 选择“标题”标签

瞧!

在此处输入图片说明


74
这是GET,而不是POST
QkiZ,2016年

7
它捕获GET和POST请求,@ QkiZ
almulo

48
注意:要真正看到重新加载页面的发布请求,您需要选中“保留日志”。
布莱斯·昆塔

39
我在这里缺少请求正文吗?:-(
Timo

3
在Chrome 71中,正文(即POST发布的数据)显示在“请求有效载荷”标题下的“标题”标签的底部。
MSC

138

您可以使用Chrome DevTools过滤HTTP POST请求。只需执行以下操作:

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

屏幕截图

Chrome DevTools

经过Chrome 53版测试。


1
在Chrome 70上运行。使用过滤method:POST功能非常有用
user1071847


5

另一个有用的选择是专用的HTTP调试工具。有一些可用的工具,我建议使用HTTP Toolkit:我一直在努力的一个开源项目(是的,我可能有偏见),可以自己解决同样的问题。

主要区别在于可用性和功能。Chrome开发人员工具非常适合简单的事情,我建议从这里开始,但是如果您在努力了解那里的信息,并且需要更多的解释或更多的功能,那么适当的专注工具可能会有用!

对于这种情况,它将通过友好的编辑器和加亮显示(全部由VS Code驱动)向您显示您正在寻找的完整POST正文,以便您进行深入研究。它会为您提供请求和响应标头,当然,还会提供更多信息,例如MDN(Mozilla开发人员网络)提供的文档,其中包含您可以看到的每个标准标头和状态代码。

一幅图片值得一千个StackOverflow答案:

HTTP Toolkit的屏幕快照,显示POST请求及其主体


1
看起来非常有前途,但是我的机器上有一些问题,已在GitHub上发布。
userlond

0

其他人给出了很好的答案,但是我想用一个额外的开发工具来完成他们的工作。这就是所谓的活HTTP头,你可以把它安装到你的Firefox,并在Chrome浏览器,我们有像同塞

使用它很容易。

  1. 使用Firefox,导航到您要对其发布请求的网站。

  2. 在Firefox菜单中,工具->实时Http标头

  3. 会为您弹出一个新窗口,所有http方法的详细信息都将保存在该窗口中。在此步骤中,您无需执行任何操作。

  4. 在网站上进行一项活动(登录,提交表格等)

  5. 查看您的插件窗口。全部记录下来。

只要记住,你需要检查拍摄

在此处输入图片说明


0

情况很棘手:如果您提交帖子表格,则Chrome将打开一个新标签来发送请求。到现在为止,但是如果它触发下载文件的事件,则此选项卡将立即关闭,以使您无法在开发工具中捕获此请求。

解决方案:在提交邮寄表格之前,您需要切断网络,这使请求无法成功发送,因此该选项卡不会关闭。然后,您可以在Chrome Devtool中捕获请求消息(必要时刷新新标签)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.