簡體   English   中英

無法使用Node Js從Restlet Client獲取JSON數據

[英]unable to get JSON data from Restlet Client using Node Js

(我對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時,可以下載響應BODY Json

在此處輸入圖片說明

添加環境詳細信息:

在此處輸入圖片說明

瀏覽器快照:

在此處輸入圖片說明

有人建議采取任何措施

(我對Restlet客戶端和服務器腳本完全陌生)

謝謝

我看到的代碼和其余客戶端GUI之間的唯一區別是port 主機名是VIP嗎? 在這種情況下,您不應在代碼中使用端口。 就像其他人所說的那樣,請像在GUI中使用https一樣使用https

如第一條評論所述,您的URL僅可通過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);
  }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM