在HTTPS的NodeJS要求(HTTPS request in NodeJS)

2019-08-01 09:48发布

我试图写一个应用程序的NodeJS它会跟使用https的包请求方法的OpenShift REST API。 下面是代码:

var https = require('https');

var options = {
  host: 'openshift.redhat.com',
  port: 443,
  path: '/broker/rest/api',
  method: 'GET'
};

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

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

但是,这是给我(返回状态代码500)的错误。 当我做使用curl命令行上同样的事情,

curl -k -X GET https://openshift.redhat.com/broker/rest/api

我从服务器获取正确的响应。

这有什么错的代码?

Answer 1:

比较的http头卷曲和节点发送,我发现加入:

headers: {
    accept: '*/*'
}

options固定它。


要查看其标头卷曲发送,您可以使用-v参数。
curl -vIX GET https://openshift.redhat.com/broker/rest/api

在节点,只是console.log(req._headers)req.end()


快速提示:您可以使用https.get()代替, https.request() 这将设置方法GET ,并调用req.end()为您服务。



文章来源: HTTPS request in NodeJS