Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法使用节点Js从Restlet客户端获取JSON数据_Javascript_Node.js_Rest_Restlet_Restlet 2.0 - Fatal编程技术网

Javascript 无法使用节点Js从Restlet客户端获取JSON数据

Javascript 无法使用节点Js从Restlet客户端获取JSON数据,javascript,node.js,rest,restlet,restlet-2.0,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

(我对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);
});
获取以下输出:

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

添加环境详细信息:

浏览器快照:

有人能给我提些建议吗

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


谢谢

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

如第一条评论所述,您的URL只能通过https访问

我自己用这个包裹

例如:

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);
  }
});

看起来您的工作示例使用了https(端口443)谢谢James,但在使用端口443Status:404时得到了响应:400 body:{“fault”:{“faultstring”:“无法识别主机的代理:apipearsoncom和url:\/sc api\/api\/content\/urn:pearson:implication:db7eac5b-8f65-49dc-97bc-d0f5e824f135”,“详细信息:{“错误代码”:“messaging.adapters.http.flow.application onNotFound”}}}}是的,这也是我得到的。所以要么url错误,要么我不允许连接到该站点。请检查GUI屏幕截图,刚刚更新的Hanks YuVI,我不确定这是VIP主机,但在离开端口时得到响应:404获取:状态:404 body:{“fault”:{”faultstring:“无法识别主机的代理:Apiparesoncom和url:\/sc api\/api\/content\/urn:pearson:Implication:db7eac5b-8f65-49dc-97bc-d0f5e824f135”,“详细信息:{”errorcode:“messaging.adaptors.http.flow.application onNotFound”}请检查GUI屏幕截图,刚刚更新