Ich versuche, curl mit dem Knoten child_process auszuführen, um eine JSON-Datei (ca. 220Ko) aus einem freigegebenen Ordner in einem lokalen Netzwerk abzurufen. Aber es gibt tatsächlich ein Pufferproblem zurück, das ich nicht durchstehen kann. Hier ist mein Code:
var exec = require('child_process').exec;
var execute = function(command, callback){
exec(command, function(error, stdout, stderr){ callback(error, stdout); });
};
execute("curl http://" + ip + "/file.json", function(err, json, outerr) {
if(err) throw err;
console.log(json);
})
Und hier ist der Fehler, den ich bekomme:
if(err) throw err;
^
Error: stdout maxBuffer exceeded.
at Socket.<anonymous> (child_process.js:678:13)
at Socket.EventEmitter.emit (events.js:95:17)
at Socket.<anonymous> (_stream_readable.js:746:14)
at Socket.EventEmitter.emit (events.js:92:17)
at emitReadable_ (_stream_readable.js:408:10)
at emitReadable (_stream_readable.js:404:5)
at readableAddChunk (_stream_readable.js:165:9)
at Socket.Readable.push (_stream_readable.js:127:10)
at Pipe.onread (net.js:526:21)
quelle
curl --digest http://login:password@" + ip + "/webdav/file.json
Ich hatte ein ähnliches Problem und habe es behoben, indem ich von exec zu spawn gewechselt bin:
quelle
process.exec
es jedoch in Dingen wie CLI-Tools verwendet wird,spawn
sollte der Wechsel zu der richtige Weg sein.