Node.js 将使用以下代码创建文件但不会写入文件。 Windows XP 上的 node-186364e.exe

发布于 2024-12-03 04:33:55 字数 704 浏览 2 评论 0原文

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' + options.host + ':' + options.port + ':' + working;
        fs.open('results.ht', 'a', function (err, fd) {
                fs.write(fd, buffer, function (e, written, buf) {
                        fs.closeSync(fd);
                });
        });
}
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' + options.host + ':' + options.port + ':' + working;
        fs.open('results.ht', 'a', function (err, fd) {
                fs.write(fd, buffer, function (e, written, buf) {
                        fs.closeSync(fd);
                });
        });
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

起风了 2024-12-10 04:33:55

如果您想从 http.get 写入数据,您可以这样做:

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);
});

然后将 writeResults 更改为:

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);
        });
    });
};

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);
        });
    });
};
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文