web-dev-qa-db-ja.com

リクエストのログのみを記録するシンプルなHTTPサーバー

着信リクエストのみをログに記録し、何もログに記録しない単純なHTTPサーバーを実行する必要があります。

リクエスト全体のコンテンツをログに記録する必要があります。ヘッダー、クッキー、ボディのように...

数分で実行でき、機能する単純なソリューションが必要です。

実装言語は重要ではありません。

Charlesのようなものですが、プロキシの代わりにHTTPサーバー

13
user4230508

いくつかの非常にシンプルな代替策として、netcatがあります。

$ nc -l -p 8080

そして、Pythonの組み込み:

$ python -m SimpleHTTPServer 8080

(Pythonの最近のバージョンでは、3?)これは今です:

$ python -m http.server 8080

Netcatは応答を提供しないので、それほど遠くないかもしれません。SimpleHTTPServerは(少なくとも)POSTリクエストを表示しません。しかし、時々私は両方が役に立つと思います。

19
rich

すべてのリクエストの情報を記録するオンラインHTTPサーバーを探している場合は、 RequestBin を使用できます。

独自のHTTPロギングサーバーを作成する必要がある場合は、Node.js + Expressが適しています。作成は非常に簡単で迅速です。

  1. インストール Node.js
  2. インストール Expressジェネレーター Webアプリケーションを数秒で生成できるようにする:_npm install express-generator -g_
  3. Webアプリケーションを生成し、すべての依存関係をインストールします。
 express myapp 
 cd myapp 
 npm install 
  1. _myapp/app.js_を編集し、次のコードブロックを行app.use('/', index);の前に挿入します。
 app.use(function(req、res){
 console.log(req.headers); 
 console.log(req.cookies); 
 console .log(req.body); 
 res.send( 'OK'); 
}); 
  1. それでおしまい。コンソールで_DEBUG=myapp:* npm start_を実行して、Webアプリケーションを開始します。ホスト_localhost:3000_に送信されたすべてのHTTPリクエストは、ヘッダー、Cookie、および本文とともに記録されます。
  2. これらのログをファイルに書き込む必要がある場合は、 log などのロガーモジュールを使用できます。
16
shaochuancs