142 votes

Obtenir un contenu binaire dans Node.js en utilisant une requête

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
}

Pero body était toujours différent de quelques octets de ce qui était attendu. Après une enquête plus approfondie, j'ai découvert que request supposé body est une chaîne de caractères et remplace tous les octets non unicode.

J'ai essayé d'ajouter

encoding: 'binary'

à requestSettings mais ça n'a pas aidé.

Comment puis-je obtenir les données binaires ?

317voto

Gil Points 652

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

encoding: null

Et puis body sera de type Buffer au lieu de la valeur par défaut, qui est une chaîne de caractères.

0voto

gismatthew Points 86

La réponse acceptée n'a pas résolu mon problème. Je me suis dit que gzip: true travaillé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X