Obtendo conteúdo binário no Node.js usando solicitação

Eu estava tentando obter dados binários usando a request e tinha algo como:

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

Mas o body sempre foi alguns bytes diferentes do esperado. Após investigações posteriores, descobri que o body assumido da request é string e substitui todos os bytes não-unicode.

Eu tentei adicionar

 encoding: 'binary' 

para requestSettings mas não ajudou.

Como posso obter os dados binários?

OK, depois de muita escavação, descobri que requestSettings deveria ter:

 encoding: null 

E então o body será do tipo Buffer , em vez do padrão, que é string.