89
使用request
我試圖GET
二進制數據獲取在Node.js的二進制內容,並有這樣的事情:使用要求
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
,但它並沒有幫助。
如何獲取二進制數據?
工作完美,謝謝。但是這對於請求模塊來說是完全不直觀的。 – 2014-01-30 01:10:39
這真是一個荒謬的噩夢。花了我12個小時來追捕這件事。看起來,Node Request模塊默認將響應內容中的傳入數據視爲UTF-8,並自動將任何非UTF-8字節序列轉換爲垃圾(但是有效的UTF-8)字符。沒有任何設置'mimetype'等等工作(不是它應該用於* response *數據)。'encoding:null'是唯一可用的選項。 - 記錄非常糟糕。應該有一個明顯的警告在節點請求文檔關於如何檢索純二進制數據。謝謝! – 2015-06-22 18:12:25
@DanNissenbaum同樣的經驗在這裏!只是不可思議的 – Novellizator 2015-07-23 15:37:29