2016-04-29 33 views
0

私はノードのrequestモジュールを調べており、ドキュメントには、errorresponsehttp.IncomingMessage)、bodyの3つのパラメータを受け入れるとのドキュメントが記載されています。NodeJSリクエストモジュール - http.Inocomingメッセージの本文?

リクエストをすると、本体がresponseオブジェクトのプロパティとして利用可能であることがわかりました。
これは本当ですか?コールバックで最後のparamを省略して代わりにresponse.bodyを使用できますか?

+0

はい、それを試してみてどうしたらいいでしょうか? – JordanHendrix

+0

なぜ私はドキュメントがこの情報を提供しないのか不思議です。あらゆるタイプの要求に対して私が身体を受け取ることを保証することはできますか?それともちょうど偶然の場合? – Kai

+0

十分に公正な、実際にはちょっと便利なメソッドなので、response.bodyを実行する必要はありません。返されるボディがあるリクエストごとにリクエストが返されます。単にAPIから返されるオブジェクトです – JordanHendrix

答えて

2

response.bodyは、必ずしもbody引数と同じではありません。解凍などの処理で応答が要求された場合は、body引数がその処理の結果になりますが、response.bodyにその処理が反映されないことがあります。 response引数を使用する必要があります。

下位互換性のために、レスポンス圧縮は デフォルトではサポートされていません。 gzip圧縮応答を受け入れるには、gzipオプションを に設定します。リクエストによって渡されたボディデータは、応答オブジェクトが変更されていない間に自動的に 圧縮解除され、サーバーが圧縮応答を送信した場合は 圧縮データが含まれます。

関連する問題