node.js http.get() 抛出:events.js:72 ECONNREFUSED

node.js http.get() throws: events.js:72 ECONNREFUSED

我是 JavaScript 和 Node.js 的新手,正在尝试解决 learnyounode 的挑战 "juggling async"。 发生错误时,我测试了使用 http.get() 的其他解决方案,并且所有解决方案都抛出了完全相同的错误。不过,他们之前工作得很好。

这是以前有效的代码:

var http = require('http');

var url = process.argv[2];

function cb_resp(res) {
   res.setEncoding('utf-8');
   res.on("data", console.log);
   res.on("error", console.error);
}

var respo = http.get(url, cb_resp)

我不断收到的错误:

$node httpclient.js www.google.de

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: connect ECONNREFUSED
    at errnoException (net.js:904:11)
    at Object.afterConnect [as oncomplete] (net.js:895:19)

如果有帮助,我 运行 Mac 和 OS X 10.10.1 并使用括号作为我的选择 IDE。我只打开了 1 个终端并重新启动了我的系统。

我该如何解决它,有人可以解释一下发生了什么,这样我就可以 prevent/solve 从现在开始自己解决这个问题吗?

您需要提供带有 URL 的协议,这不是自动添加 http:// 前缀的浏览器。你的脚本是正确的,你的调用必须是

node httpclient.js https://www.google.de