17

外部 Web サービスを呼び出すいくつかの node.js コードを一緒にハッキングしていますが、悪い結果が得られています。検査できるように、生のリクエストとレスポンスをログに記録したいと思います。

ここに問題があります: 私は http ライブラリを直接消費しているのではなく、OAuth ライブラリを介して消費しています。

すでに oauth ライブラリ コードにデバッグ ステートメントを追加していますが、気に入りません。今、私はhttpライブラリにアクセスして、それをいじり始める必要があるように見えますか? これは正しくありません。

もし私がWindowsを使っていたら、フィドラーを起動します。友人がwiresharkについて言及しましたが、wiresharkはX11をインストールする必要があると言っています。本当に?私はそのうさぎの穴に落ちません。

それから node-inspector を試しましたが、それはクライアント コードではなくサーバー コード用だと思います。アタッチする前にノードプロセスを開始することを想定しています。さて、私のノード プロセスは、開始直後に終了するテスト ケース (誓い) です。

これはどのスタックでも難しいと思いますが、.net が恋しくなります!

では、マウンテン ライオンの外部 Web サービスへのクライアントとして node.js を使用しているときに、ネットワーク上で何が起こっているのかを調べるにはどうすればよいでしょうか?

ありがとう!ダン

4

2 に答える 2

36

同じ理由でhttp/ request にフックをインストールすることができました。https

function requestLogger(httpModule){
    var original = httpModule.request
    httpModule.request = function(options, callback){
      console.log(options.href||options.proto+"://"+options.host+options.path, options.method)
      return original(options, callback)
    }
}

requestLogger(require('http'))
requestLogger(require('https'))
于 2014-12-11T21:22:59.703 に答える
9

@uiron が言及したのと同じ手法を使用するglobal-request-loggerモジュールを確認できますが、詳細が記載されています。

于 2015-04-23T22:55:12.463 に答える