最近これに遭遇した人のために、要求ライブラリはすぐに使用できる gzip 解凍をサポートしています。次のように使用します。
request(
{ method: 'GET'
, uri: 'http://www.google.com'
, gzip: true
}
, function (error, response, body) {
// body is the decompressed response body
console.log('server encoded the data as: ' + (response.headers['content-encoding'] || 'identity'))
console.log('the decoded data is: ' + body)
}
)
github readme からhttps://github.com/request/request
gzip - true の場合、Accept-Encoding ヘッダーを追加してサーバーから圧縮されたコンテンツ エンコーディングを要求し (まだ存在しない場合)、応答でサポートされているコンテンツ エンコーディングをデコードします。注: 応答コンテンツの自動デコードは、要求によって返された本文データ (要求ストリームを介して、およびコールバック関数に渡されたもの) に対して実行されますが、変更されていない http である応答ストリーム (応答イベントから入手可能) に対しては実行されません。圧縮データを含む可能性がある .IncomingMessage オブジェクト。以下の例を参照してください。