我对这个小程序有疑问:
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)
我不明白为什么会这样。
答案 0 :(得分:15)
从您的代码中,您的文件看起来像包含向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
运行包含要提出请求的代码的文件。
答案 1 :(得分:0)
请使用[:: 1]代替localhost,并确保端口正确,然后将端口放在链接内。
const request = require('request');
let json = {
"id": id,
"filename": filename
};
let options = {
uri: "http://[::1]:8000" + constants.PATH_TO_API,
// port:443,
method: 'POST',
json: json
};
request(options, function (error, response, body) {
if (error) {
console.error("httpRequests : error " + error);
}
if (response) {
let statusCode = response.status_code;
if (callback) {
callback(body);
}
}
});
答案 2 :(得分:0)
我运行了本地mysql数据库,但未在管理员模式下运行,这引发了此错误
答案 3 :(得分:0)
如果已从任务管理器中停止mongod.exe服务,则需要重新启动该服务。就我而言,我从任务管理器中停止了该服务,并且在重新启动时它不会自动启动。
答案 4 :(得分:0)
只需在节点项目中运行以下命令
npm install
它对我有用
答案 5 :(得分:0)
我收到这个错误是因为我的 AdonisJS 服务器在我运行测试之前没有运行。运行服务器首先修复它。
答案 6 :(得分:-1)
这是非常轻微的错误。当我在 nodejs 上的进程之间实现事件服务器时。
只需检查您用于运行服务器的软件包,例如 Axios。
也许您可能已重新定位文件或断开浏览器上的某些缓存数据。
很简单,在你的相关目录中运行以下命令
我用的是 axios 所以我用了
npm i axios
重启服务器
npm start
这行得通,
谢谢 GDS K S
答案 7 :(得分:-2)
在你的代码中使用代理属性它应该可以正常工作
{{1}}
答案 8 :(得分:-2)
我在Mac上也遇到了同样的问题,但就我而言,问题是我之前没有运行数据库(sudo mongod)。当我第一次在控制台上运行mondo sudod时,该问题就解决了,一旦完成,在另一个控制台上,它就与服务器建立了连接...