错误:连接ECONNREFUSED node.js https.get请求
我在一个小testing节点项目中运行以下内容。
var https = require('https'); var request = https.get('https://example.com/script.json', function(response){ console.dir(response); }); request.on('error', function(){ console.log(err); });
当我尝试console.dir的响应,我得到以下错误。
throw er; // Unhandles 'error' event Error: connect ECONNREFUSED xxx.xx.xxx.xx:xxx
这是一个简单的获取请求到外部服务器上的JSON文件。 我知道该文件存在,所以我不知道为什么我得到上述错误。 该文件可以在浏览器中运行,不需要validation。
更新 :我编辑的代码。 创造了一个承诺,并添加了一个.on('error'...
来解决任何问题。
现在输出如下:
( [Error: connect ECONNREFUSED xxx.xx.xxx.xx:xxx] code: 'ECONNREFUSED', errno: 'ECONNREFUSED', syscall: 'connect', address: 'xxx.xxx.xxx.xxx', port: 443 )
感谢来自@robertklep的帮助,我提出了以下解决scheme,它允许我使用请求从代理后面连接到HTTPS
const https = require('https'); const request = require('request'); request( { 'url':'https://https://example.com/script.json', 'proxy':'http://xx.xxx.xxx.xx' }, function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body); } } );
另一台服务器没有启动,或者没有监听443端口,因此连接被拒绝。 另一种select是,nodejs应用程序parsing这个例子url不同于你的电脑不同的IP。