无法使用Node Js从Restlet Client获取JSON数据

时间:2017-06-06 13:45:39

标签: javascript node.js rest restlet restlet-2.0

(我对Restlet客户端和服务器脚本完全不熟悉)

我正在尝试使用以下代码从Restlet客户端的响应主体获取JSON数据,但我无法得到

var http = require('http');
var options = {
  host: 'staging.api.pearson.com',
  port: 80,
  path: '/sc-api/apis/content/urn:pearson:manifestation:db7eac5b-8f65-49dc-97bc-d0f5e824f135'
};

http.get(options, function(res) {
  console.log("Got response: " + res.statusCode);

  res.on("data", function(chunk) {
    console.log("BODY: " + chunk);
  });
}).on('error', function(e) {
  console.log("Got error: " + e.message);
});

获得以下输出:

enter image description here

但是当使用Restlet客户端GUI时,可以下载响应BODY Json

enter image description here

添加环境详细信息:

enter image description here

浏览器快照:

enter image description here

请有人建议任何方式

(我对Restlet客户端和服务器脚本完全不熟悉)

由于

2 个答案:

答案 0 :(得分:0)

我在代码和其他客户端GUI之间看到的唯一区别是port。主机名是VIP吗?在这种情况下,您不应该在代码中使用端口。正如其他人所说,在GUI中使用它时使用https

答案 1 :(得分:0)

如第一条评论所述,您的网址只能通过https

访问

我自己使用request.js

示例:

var request = require('request');
var url = 'https://staging.api.pearson.com/sc-api/apis/content/urn:pearson:manifestation:db7eac5b-8f65-49dc-97bc-d0f5e824f135';

request.get(url,{},function(err,res,body){
  if(err) 
    console.log("Got error: " + e.message);
  else {
    console.log("Status: ", res.statusCode);
    console.log("body: ", body);
  }
});