ECONNREFUSED错误https.request

时间:2015-09-25 20:59:46

标签: node.js https cross-domain

我正在尝试在远程https服务器上下载或获取文件。每次其他网址正常工作时,我都会收到以下错误。

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

我正在使用此代码:

var https   = require('https');
var fs      = require('fs');

var url = '/portalfront/datafiles/miscellaneous/csv/kursliste_ws.xml';
//or:     '/portalfront/datafiles/miscellaneous/csv/kursliste.csv'
var options = {
  hostname  : 'dnb.no',
  port      : 443,
  path      : url,
  method    : 'GET'
};

var req = https.request(options, function(res) {
  console.log("statusCode: ", res.statusCode);
  console.log("headers: ", res.headers);
  res.on('data', function(d) {
      process.stdout.write(d);
  });
});
req.end();

req.on('error', function(e) {
  console.error(e);
});

我可以用邮递员获取网址。

1 个答案:

答案 0 :(得分:2)

要检查浏览器发送的请求,您可以使用内置检查器。在网卡中,您可以看到所有请求数据。请求的文件应该在那里。如果您查看浏览器请求标头,您将得到与此相似的结果:

GET /portalfront/datafiles/miscellaneous/csv/kursliste_ws.xml HTTP/1.1
Host: www.dnb.no
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/45.0.2454.85 Chrome/45.0.2454.85 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,pl;q=0.6
If-None-Match: "5365-5604f43f"
If-Modified-Since: Fri, 25 Sep 2015 07:14:07 GMT

如果仔细观察,您会看到主机的不同之处。更改主机名:

hostname  : 'dnb.no',

为:

hostname  : 'www.dnb.no',

现在您可以成功检索xml文件。