89
を使ってNode.jsの内のバイナリコンテンツを取得する私はGET
にrequest
を使用してバイナリデータをしよう、とのようなものを持っていました:は、要求
var requestSettings = {
method: 'GET',
url: url,
};
request(requestSettings, function(error, response, body) {
// Use body as a binary Buffer
}
しかしbody
は常に予想と異なる数バイトでした。さらに調査した結果、request
がbody
と仮定され、文字列で、すべての非ユニコードバイトが置き換えられました。
私はrequestSettings
に
encoding: 'binary'
を追加しようとしましたが、それは助けにはなりませんでした。
バイナリデータはどのように入手できますか?
ありがとうございました。しかし、これはリクエストモジュールの部分では直感的ではありません。 –
どんなに不条理な悪夢。これを狩るのに12時間かかりました。デフォルトでは、Node Requestモジュールは応答のコンテンツ内に入ってくるデータをUTF-8として扱い、非UTF-8バイトシーケンスを迷惑メール(有効なUTF-8)文字に自動的に変換するようです。 'mimetype'などの設定は動作しません(* response *データではありません)。エンコーディング:nullは唯一のオプションで、文書化されていません。ノードバイナリデータを取得する方法についてはノードリクエストのドキュメントを参照してください。ありがとう! –
@DanNissenbaum同じ経験をここに!ちょうど信じられないほど – Novellizator