我正在尝试从国家公园管理局的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);
});
});
};
答案 0 :(得分:0)
任何5xx错误表示服务器应用程序由于某种原因而失败。在https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#5xx_Server_errors
上查看状态码定义就您而言,我认为您应该查看您的url变量。您使用模板文字的方式导致额外的空白,并在变量中存储了新行。这可能导致api服务器出现故障。
尝试以下方法:
$ awk -v OFS='\t' 'NR==FNR{b[$1]=$2;next} {$1=$1; print $0, b[$1], ($2==b[$1] ? "" : "no ") "match"}' B.txt A.txt
api 2.3 4.3 no match
java 3.3 4.5 no match
答案 1 :(得分:0)
在打印出res.statusCode
的同时,您也可以打印出503
。当我这样做时,我得到res.statusMessage
当我尝试statusMessage: 'Service Temporarily Unavailable'
他们给我的示例网址时,我会得到相同的结果。因此,我认为这不是您的代码。每两次发送给我一个html页面。也许还没准备好迎接黄金时段?