1

比較的大きな(50K)テキストファイルがPOSTされています:

curl -H "Content-Type:text/plain"  -d @system.log http://localhost:8888/

プロキシを使用してテストすると、ファイルの全内容が投稿されていることがわかります。

ただし、Express.JSでは、ヘッダーに100:Continueが表示され、本文が空白になっています。私は持っています :

app.use(express.bodyParser());

有効、ところで。ヘッダーは次のとおりです。

{ 'user-agent': 'curl/7.21.4 (universal-apple-darwin11.0) libcurl/7.21.4 OpenSSL/0.9.8r zlib/1.2.5',
  host: 'localhost:8888',
  accept: '*/*',
  'content-type': 'text/plain',
  'content-length': '55909',
  expect: '100-continue' }

req.bodyは空です:

{}

Express.JSに投稿されているすべてのデータを確認するにはどうすればよいですか?

4

1 に答える 1

1

私の推測では、ノード http モジュールのドキュメント100-continueに従って、ノードが自動的に応答を送信していると思います (十分に新しいノード バージョンを使用していると仮定します)。私が推測しているのは、コンテンツ タイプが(json や www-form-urlencoded とは対照的に) 他の何かに解析できる形式ではないということだけです。したがって、リクエストが読み取るデータのチャンクごとに発行する標準イベントからデータを取得できます。text/plainbodyParserdata

于 2012-09-19T14:56:59.660 に答える