Javascript 无法使用节点Js从Restlet客户端获取JSON数据
(我对Restlet客户端和服务器脚本完全不熟悉) 我试图使用下面的代码从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
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屏幕截图,刚刚更新