Получение двоичного содержимого в 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 является строкой и заменяется всеми байтами, отличными от unicode.

Я попытался добавить

encoding: 'binary'

до requestSettings, но это не помогло.

Как получить двоичные данные?

Ответ 1

ОК, после многого рытья я узнал, что requestSettings должен иметь:

encoding: null

И тогда body будет иметь тип Buffer, а не по умолчанию, который является строкой.