这个小程序有问题:
var http = require("http");
var request = http.request({
hostname: "localhost",
port: 8000,
path: "/",
method: "GET"
}, function(response) {
var statusCode = response.statusCode;
var headers = response.headers;
var statusLine = "HTTP/" + response.httpVersion + " " +statusCode + " " + http.STATUS_CODES[statusCode];
console.log(statusLine);
for (header in headers) {
console.log(header + ": " + headers[header]);
}
console.log();
response.setEncoding("utf8");
response.on("data", function(data) {
process.stdout.write(data);
});
response.on("end", function() {
console.log();
});
});
控制台中的结果是这样的:
events.js:141 throw er; // Unhandled 'error' event ^ Error: connect ECONNREFUSED 127.0.0.1:8000 at Object.exports._errnoException (util.js:870:11) at exports._exceptionWithHostPort (util.js:893:20) at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1063:14)
我不明白为什么会这样。
最佳答案
从您的代码看来,您的文件包含向 localhost (127.0.0.1:8000) 发出 get 请求的代码。
问题可能是您没有在本地机器上创建服务器来监听端口 8000。
为此,您必须在 localhost 上设置可以满足您的请求的服务器。
创建 server.js
var express = require('express'); var app = express(); app.get('/', function (req, res) { res.send('Hello World!'); // This will serve your request to '/'. }); app.listen(8000, function () { console.log('Example app listening on port 8000!'); });
运行 server.js : node server.js
运行包含发出请求的代码的文件。
关于javascript - node.js 错误 : connect ECONNREFUSED; response from server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35199384/