使用Node.js监控第三方流量的最佳方法是什么?

时间:2015-02-03 03:42:46

标签: javascript node.js

我正在尝试使用Node.js识别第三方网站上所有资源的出站http请求。我已经开始使用具有网络监控功能的Phantomjs(和phantomjs-node),但我发现它对许多站点都不可靠。

我见过像Charles和Fiddler这样的工具,但我正在尝试将第三方http请求合并到我自己的Node.js应用程序中。

有没有其他方法可以在不使用无头浏览器的情况下解决这个问题?

1 个答案:

答案 0 :(得分:1)

我不是真的喜欢使用Node的phantomjs。基本上PhantomJS有自己的Event Loop,Node JS有自己的,大多数在线可用的npm模块(包括phantomjs-node)都会使用某种消息传递(Websocket等)来实现两者之间的通信。

现在回到原来的问题。

您有几个选择:

  1. 如果您只想从网页捕获几次执行请求,您也可以使用Chrome或Firefox扩展程序。在Firefox中,您可以使用Firebug(http://getfirebug.com/)来捕获网络和XHR请求。在Chrome中,您可以使用Chrome开发工具捕获请求,然后右键单击将请求另存为JSON。
  2. 您可以编写自己的Firefox扩展程序,捕获Net请求并记录它们。
  3. 如果您想使用PhantomJS,我建议使用PhantomJS 2(因为它使用最新版本的WebKit)。我还建议直接使用它而不是NodeJS来减少复杂性。