Javascript node.js错误:connect-EconRefused;来自服务器的响应

Javascript node.js错误:connect-EconRefused;来自服务器的响应,javascript,node.js,connect,Javascript,Node.js,Connect,我对这个小程序有一个问题: var http=require(“http”); var request=http.request({ 主机名:“本地主机”, 港口:8000, 路径:“/”, 方法:“获取” },功能(回应){ var statusCode=response.statusCode; var headers=response.headers; var statusLine=“HTTP/”+response.httpVersion+“”+statusCode+“”+HTTP.STAT

我对这个小程序有一个问题:

var http=require(“http”);
var request=http.request({
主机名:“本地主机”,
港口:8000,
路径:“/”,
方法:“获取”
},功能(回应){
var statusCode=response.statusCode;
var headers=response.headers;
var statusLine=“HTTP/”+response.httpVersion+“”+statusCode+“”+HTTP.STATUS\u code[statusCode];
console.log(statusLine);
for(标题中的标题){
log(header+”:“+headers[header]);
}
console.log();
响应。设置编码(“utf8”);
响应。关于(“数据”,函数(数据){
进程.标准输出.写入(数据);
});
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) events.js:141 投掷者;//未处理的“错误”事件 ^ 错误:connect ECONREFUSSED 127.0.0.1:8000 在Object.exports.\u errnoException(util.js:870:11) 导出时。主机端口例外(util.js:893:20) 在TCPConnectWrap.afterConnect[as oncomplete](net.js:1063:14)
我不明白为什么会发生这种情况。

从您的代码来看,您的文件似乎包含向localhost(127.0.0.1:8000)发出get请求的代码

问题可能是您尚未在本地计算机上创建侦听端口8000的服务器

为此,您必须在本地主机上设置服务器,以满足您的请求

  • 创建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

  • 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!');
     });
    
  • 运行包含要发出请求的代码的文件


  • 在代码中使用代理属性应该可以正常工作

    const https = require('https');
    const request = require('request');
    
    request({
        'url':'https://teamtreehouse.com/chalkers.json',
        'proxy':'http://xx.xxx.xxx.xx'
        },
        function (error, response, body) {
            if (!error && response.statusCode == 200) {
                var data = body;
                console.log(data);
            }
        }
    );
    

    我在mac上也有同样的问题,但在我的例子中,问题是我以前没有运行数据库(SudoMongod);当我第一次在控制台上运行mondo sudod时,问题就解决了。一旦在另一个控制台上运行完,连接到服务器…

    请使用[::1]而不是本地主机,并确保端口正确,并将端口放在链接内

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

    我运行了本地mysql数据库,但没有在管理员模式下运行,这会引发此错误

    如果您已从任务管理器停止mongod.exe服务,则需要重新启动该服务。在我的例子中,我从任务管理器停止了服务,重新启动时它不会自动启动。

    只需在节点项目中运行以下命令

    npm install
    

    这对我来说很有效

    我得到这个错误是因为在我运行测试之前,我的AdonisJS服务器没有运行。首先运行服务器将其修复。

    这是一个非常轻微的错误。当我在nodejs上的进程之间实现事件服务器时

    只需检查用于运行服务器的软件包,如Axios

    可能您重新定位了文件或断开了浏览器上的某些缓存数据

    很简单,在相关目录中运行以下命令

    我用的是axios所以我用的是

    npm i axios
    
    重新启动服务器

    npm start
    
    这就行了,

    谢谢
    GDS K S

    您想用代码实现什么?这是因为它无法连接到端点-在本例中为
    http://localhost:8000
    无法访问您是否应该在localhost:8000上运行某些内容?因为它看起来不像你现在做的。尝试与其他程序已达到。8000端口是free@MarcoGhieri你说的免费是什么意思?没有人在听吗?这可以解释这个错误。一般来说,没有root权限运行的进程不能绑定到1024以下的端口。@RoccoMusolino上面的答案对我有用。在iMac上与这个错误斗争了一整天之后,
    sudo
    成功了!我想知道node或iOS
    (将此放在这里用于web crawler)
    在哪里得到
    127.0.0.1:80
    即使禁用了所有代理设置,我仍然得到了这个错误。你能解释一下为什么有人应该这样做吗?这对我也很有用。这背后的理由是什么?对我来说也是如此。一旦我将
    端口添加到
    选项
    中,错误就消失了。非常感谢!