web-dev-qa-db-fra.com

Obtenir du contenu binaire dans Node.js en utilisant request

J'essayais de GET une donnée binaire en utilisant request , et avait quelque chose comme:

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

Mais body a toujours été différent de quelques octets. Après une enquête plus approfondie, j'ai découvert que request supposait que body était une chaîne et remplaçait tous les octets non-unicode.

J'ai essayé d'ajouter

encoding: 'binary'

à requestSettings mais cela n'a pas aidé.

Comment puis-je obtenir les données binaires?

119
GilZ

OK, après beaucoup de recherches, j'ai découvert que requestSettings devrait avoir:

encoding: null

Et alors body sera de type Buffer au lieu de la valeur par défaut, chaîne.

272
GilZ