web-dev-qa-db-ja.com

リクエストを使用してNode.jsでバイナリコンテンツを取得する

GET を使用してrequestバイナリデータを試みましたが、次のようなものがありました。

var requestSettings = {
    method: 'GET',
    url: url,
};
request(requestSettings, function(error, response, body) {
    // Use body as a binary Buffer
}

ただし、bodyは常に予想と異なる数バイトでした。さらに調査した結果、requestbodyが文字列であると想定し、Unicode以外のすべてのバイトを置き換えることがわかりました。

追加しようとしました

encoding: 'binary'

requestSettingsに変更しましたが、役に立ちませんでした。

バイナリデータを取得するにはどうすればよいですか?

119
GilZ

よく調べてみたところ、requestSettingsには次のものが必要であることがわかりました。

encoding: null

bodyは、デフォルトの文字列ではなく、Buffer型になります。

272
GilZ