nodejs请求 - 始终返回econnrefused

时间:2016-01-15 05:18:26

标签: javascript node.js request econnrefused

我使用昨天工作的模块cheerio,request和longjohn编写了一些代码,但今天它总是抛出“ECONNREFUSED”错误。

我尝试使用使用请求的简单示例代码:

var request = require('request');
request('http://www.google.com', function (error, response, body) {
    if (!error && response.statusCode == 200) {
        console.log(body) // Show the HTML for the Google homepage.
    }
    else{
        console.log(error);
    }
})

然而它仍然会回归:

{[Error: connect ECONNREFUSED]
    code: 'ECONNREFUSED',
    errno: 'ECONNREFUSED',
    syscall: 'connect' }

只是想知道可能是什么原因,我可以使用网络浏览器连接到互联网。

由于

2 个答案:

答案 0 :(得分:0)

这可能是因为该进程因防火墙或代理而无法访问互联网。

检查您的防火墙和代理设置,确保该进程可以访问互联网。

答案 1 :(得分:0)

我的问题是我在启动服务器进程后立即执行了get。我通过将get包装在setTimeout

中来解决错误
setTimeout(() => {
  http.get('http://localhost:4003/state', (response) => {
    console.log('response:', response)
    response = response;
    server.kill('SIGTERM');
  }).on('error', (err) => {
    console.log('error:', err)
    server.kill('SIGTERM');
  });
}, 1000);