在Firefox或Chrome中是否可以查看POST请求的数据?

37

我该如何通过配置、扩展或代码拦截FF或Chrome发送的页面的POST数据?(代码部分涉及编程。;)

目前我使用Wireshark / Ethereal进行此操作,但使用起来有些困难。


相关:Chrome:Post Data 的来源? - David Cary
7个回答

29

如果您只需要跟踪请求,您可以使用Chrome开发者工具。通过按下 Ctrl+Shift+I 并选择Network选项卡来激活它们。

即使Chrome与另一台服务器进行HTTPS通信,这也适用(并且除非您拥有HTTPS私钥,否则您无法使用Wireshark来嗅探该流量)。

(我从此相关查询的答案中复制了此内容。)


据我所知,只有Firefox中的FireBug具有跟踪发送POST数据的功能。我已经在Safari和Chrome上进行了测试,它们没有这个功能。 - GusDeCooL
2
@GusDeCooL 在 Chrome 上正常工作吗?我按下 CTRL + SHIFT + I,然后 Chrome 打开了开发人员工具窗口,然后我点击"Network"选项卡。现在,如果我的浏览器进行网络请求,它将在此 Network 选项卡中的一行中显示。我点击该行,如果它是一个 POST 请求,Chrome 就会在 Headers 选项卡下面稍微显示一个表单数据(Form Data)部分。 - KajMagnus

24
使用Firefox,您可以使用网络选项卡 (Ctrl+Shift+E 或 Command+Option+E)。"Params" 子选项卡显示提交的表单数据。
参考: https://developer.mozilla.org/en-US/docs/Tools/Network_Monitor/request_details#Params 或者,在控制台 (Ctrl+Shift+K 或 Command+Option+K) 中右键单击大窗格并选中 "记录请求和响应主体"。然后,当提交表单时,将出现一行带有 POST <url> 的信息。单击它;它会打开一个新窗口,其中包含表单数据。
在撰写此回复时,这两种方法都会破坏文本区域字段中的换行符。前者删除了它们,后者将它们转换为空格。我还没有检查过较新版本的情况。

太棒了,正是我所需要的,我可以看到各种扩展名的标题,但没有发布的数据,谢谢。您还可以在响应部分中查看它返回的内容。 - Adamantus
抱歉,快捷键已更改为Ctrl+Shift+E - https://developer.mozilla.org/en-US/docs/Tools/Network_Monitor。我已编辑问题。感谢您让我知道。 - Pedro Gimeno
2
我在Firefox 77.0上找不到“记录请求和响应正文”的复选框。它还在那里吗? - OscarVanL
@PedroGimeno 我关闭了网络选项卡并重新打开,但我无法看到以前的网络详细信息。重新打开网络选项卡后有没有办法查看这些信息? - y_159

11

您是否可以控制发送数据的浏览器?

如果可以的话,只需使用Firebug。它具有许多有用的功能,包括此功能。


同意,而 FireBug 是我仍然使用它的唯一原因。 - GusDeCooL
5
只是一个小小的附注:为了防止在页面重新加载(例如在单击提交按钮后)清除POST数据,请前往Firebug的“Net”选项卡并单击“持久化”按钮以保持POST历史记录在页面之间。 - Nathan Beach

3

对于现代版本,Firefox Quantum有Temper Data插件:https://addons.mozilla.org/en-US/firefox/addon/tamper-data-for-ff-quantum - Turtle10000

0
以编程方式,你可以使用dBug来实现这个功能 - 它是一个小型代码模块,可以集成到任何网站中。 我在CodeIgniter中使用它,并且它完美地工作。

0
在 Firefox 的开发者工具的网络选项卡中,右键点击 PUT、POST 或任何类型的请求,您会发现“在控制台中使用 Fetch”选项。在这里,我们可以查看正在传递的数据。

0

按顺序执行相应的步骤。

Firefox Inspect Network POST Request


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接