Javascript 当我尝试获取数据时,为什么NPS Api返回503

Javascript 当我尝试获取数据时,为什么NPS Api返回503,javascript,node.js,https,Javascript,Node.js,Https,我正试图从国家公园管理局的API获取公园信息,但从未调用res.on('data'),我得到的错误代码为503。这个API没有太多文档,我也没有太多使用API的经验,所以我可能会遗漏一些小而明显的东西 let getPark = (parkCode, cb) => { let url = `https://developer.nps.gov/api/v1/parks? parkCode=${parkCode}&api_key=${apiKey}`;

我正试图从国家公园管理局的API获取公园信息,但从未调用res.on('data'),我得到的错误代码为503。这个API没有太多文档,我也没有太多使用API的经验,所以我可能会遗漏一些小而明显的东西

let getPark = (parkCode, cb) => {
  let url = `https://developer.nps.gov/api/v1/parks? 
             parkCode=${parkCode}&api_key=${apiKey}`;

  https.get(url, (res) => {
    console.log(res.statusCode);
    var body = '';

    res.on('data', (chunk) => {
      body += chunk;
    });

    res.on('end', () => {
      cb(body);
    });
  });
};

任何5xx错误都意味着服务器应用程序由于某种原因失败。查看以下位置的状态代码定义:

在您的情况下,我认为您应该查看url变量。使用模板文字的方式会导致在变量中存储额外的空白和新行。这可能会导致api服务器失败

请尝试以下方法:

let url = `https://developer.nps.gov/api/v1/parks?` +
  `parkCode=${parkCode}&api_key=${apiKey}`;

除了打印出
res.statusCode
,这将为您提供一个
503
,您还可以打印出
res.statusMessage
。执行此操作时,我会收到
statusMessage:“服务暂时不可用”


当我尝试
curl
他们给我的示例url时,我得到了同样的结果。所以我不认为这是你的密码。每隔几次它就会给我发送一个html页面。可能还没有准备好迎接黄金时间?

。503:服务器当前不可用(因为它因维护而过载或停机)。一般来说,这是一种临时状态。稍后再来好的,谢谢,这解决了503问题。我现在得了200分。然而,我得到的回应是html(nps主页?)。知道为什么吗?我期待的是json。@ZachCoursey服务器可能仍在维护中恢复,可能正在重定向到主页。几分钟后再试一次