如何获取页面加载的所有请求的响应 body?

How to fetch the response body of all the requests loaded for a page?

我目前正在开发一个需要从网页获取数据的工具。 (类似于抓取但不完全一样)。我需要的是一种为页面加载的所有请求获取响应 body 的方法。我找到了一个解决方案(confess.js),它使用 phantomjs 来获取主要(发起者)请求的 body。列出主请求和子请求的 URL、headers 和 cookie,甚至 body 大小。但我似乎无法找到一种方法来获取子请求的 body 数据(JS、CSS、图像等资源和任何 xhr 请求)。实现这一目标的最佳方法是什么? (我不想单独点击每个 url 从而使我网页上的点击次数加倍)任何帮助将不胜感激。谢谢

有一个简单的答案: https://mitmproxy.org/

在本地安装它并配置您的浏览器以使用此代理。 比您可以跟踪所有流量。(并且将轻松支持 https)

如果您需要以编程方式访问这些数据,您最好看看一些 nodejs 代理库。(http://anyproxy.io, https://github.com/nodejitsu/node-http-proxy)

你想要一个 "reverse proxy" 传递所有请求的地方。 然后您可以控制页面中所有传出请求的请求/响应。 您可以 "catch" 网址、正文等 ..