Node.js will create file but not write to it using the following code. node-186364e.exe on windows xp
var
http = require('http'),
fs = require('fs'),
buffer,
working = 'notworking',
options = {
host: '202.138.228.141',
port: 8080,
path: 'www.google.com'
};
http.get(options, function(res) {
if (res.statusCode < 400) working = 'working';
writeResults(options);
}).on('error', function (e) {
writeResults(options);
});
function writeResults (options) {
buffer = '\n' +开发者_JAVA技巧 options.host + ':' + options.port + ':' + working;
fs.open('results.ht', 'a', function (err, fd) {
fs.write(fd, buffer, function (e, written, buf) {
fs.closeSync(fd);
});
});
}
If you want to write the data from the http.get, you'd do:
http.get(options, function(res) {
var data = '';
res.on('data', function(d) {
data += d;
});
res.on('end', function(e) {
writeResults(options, working, data);
});
}).on('error' function(e) {
writeResults(options, 'ERROR', null);
});
then maybe change writeResults to:
function writeResults(options, working, data) {
buffer = '\n' + options.host + ':' + options.port + ':' + working;
if (data) {
buffer += '\n' + data;
}
fs.open('results.ht', 'a', function (err, fd) {
fs.write(fd, buffer, function (e, written, buf) {
fs.closeSync(fd);
});
});
};
精彩评论