nodejs 请求 - 总是返回 econnrefused
nodejs request - always returning 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);
}
})
但它仍然 returns:
{[Error: connect ECONNREFUSED]
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect' }
只是想知道这可能是什么原因,我可以使用网络浏览器正常连接到互联网。
谢谢
这可能是因为该进程由于防火墙或代理而无法访问互联网。
检查您的防火墙和代理设置,确保该进程可以访问互联网。
我的问题是我在启动服务器进程后立即执行获取。我通过将 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);
我使用模块 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);
}
})
但它仍然 returns:
{[Error: connect ECONNREFUSED]
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect' }
只是想知道这可能是什么原因,我可以使用网络浏览器正常连接到互联网。
谢谢
这可能是因为该进程由于防火墙或代理而无法访问互联网。
检查您的防火墙和代理设置,确保该进程可以访问互联网。
我的问题是我在启动服务器进程后立即执行获取。我通过将 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);