stavo cercando di GET
un insieme di dati binari utilizzando request
, e aveva qualcosa di simile:Ottenere contenuto binario in Node.js utilizzando richiesta
var requestSettings = {
method: 'GET',
url: url,
};
request(requestSettings, function(error, response, body) {
// Use body as a binary Buffer
}
Ma body
è sempre stato un paio di byte diverso dal previsto. Dopo ulteriori indagini ho scoperto che assunto body
è una stringa e ha sostituito tutti i byte non unicode.
Ho provato ad aggiungere
encoding: 'binary'
per requestSettings
ma non ha aiutato.
Come posso ottenere i dati binari?
Ha funzionato perfettamente, grazie. Ma questo è completamente non intuitivo da parte del modulo di richiesta. –
Che incubo assurdo. Mi ci sono voluti 12 ore per dare la caccia. Sembra che il modulo Node Request, per impostazione predefinita, tratti i dati in entrata nel contenuto della risposta come UTF-8 e converta automaticamente tutte le sequenze di byte non UTF-8 in caratteri junk (ma UTF-8 validi). Nessuna quantità di impostazione 'mimetype', ecc. Funziona (non che si supponga per i dati * response *.) La 'codifica: null' è l'unica opzione che funziona. E - molto scarsamente documentato. nella documentazione Node Request su come recuperare i dati binari puri Grazie! –
@DanNissenbaum stessa esperienza qui! semplicemente incredibile – Novellizator