ホーム>source

Node.jsを使用して、サードパーティサイトのリソースに対するすべてのアウトバウンドhttpリクエストを識別しようとしています。私はネットワークモニタリング機能を備えたPhantomjs(およびphantomjs-node)を使い始めましたが、多くのサイトでは信頼性に欠けています。

CharlesやFiddlerなどのツールを見てきましたが、サードパーティのhttpリクエストを自分のNode.jsアプリに組み込もうとしています。

ヘッドレスブラウザを使用せずにこれに取り組む他の方法はありますか?

あなたの答え
  • 解決した方法 # 1

    私は実際にはNodeからphantomjsを使用するのが好きではありません。基本的に、PhantomJSには独自のイベントループがあり、Node JSには独自のイベントループがあり、オンラインで利用できるほとんどのnpmモジュール(phantomjs-nodeを含む)は、何らかのメッセージング(WebSocketなど)を使用して2つの間で通信します。

    元の問題に戻ります。 

    いくつかのオプションがあります。

    数回実行するためにWebページからのリクエストのみをキャプチャする場合は、ChromeまたはFirefoxの拡張機能を使用することもできます。 Firefoxでは、Firebug(http://getfirebug.com/)を使用してネットおよびXHRリクエストをキャプチャできます。 Chromeでは、Chrome Dev Toolsを使用してリクエストをキャプチャし、右クリックして[リクエストをJSONとして保存]をクリックできます。

    Netリクエストをキャプチャしてログに記録する独自のFirefox拡張機能を作成できます。

    PhantomJSを使用する場合は、PhantomJS 2を使用することをお勧めします(WebKitの最新バージョンを使用しているため)。また、複雑さを軽減するために、NodeJSからではなく直接使用することをお勧めします。

  • 解決した方法 # 2

    netsniff.jsを使用したPhantomjsネットワークモニタリングは、すべてのリクエストを追跡するのに役立ちますが、すべてのリクエストが表示されるわけではないため、それほど信頼性が高くありません。phantomjs netsniff.jsの信頼性はありますか?

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ Spark SQLでCassandraテーブル間でデータを転送します