我正在尝试使用Node.js从HTTPS URL访问XML数据集。我使用了与使用HTTP URL的不同数据集相同的代码,并且工作正常。
我已经调查了这个https://www.npmjs.com/package/ssl-root-cas,但我不知道应该怎么做。
这是我正在使用的代码。
var parseString = require('xml2js').parseString;
var https = require('https');
function xmlToJson(url, callback) {
var req = https.get(url, function(res) {
var xml = '';
res.on('data', function(chunk) {
xml += chunk;
});
res.on('error', function(e) {
callback(e, null);
});
res.on('timeout', function(e) {
callback(e, null);
});
res.on('end', function() {
parseString(xml, function(err, result) {
callback(null, result);
});
});
});
}
var urlTrain = "https://data.dublinked.ie/cgi-bin/rtpi/realtimebusinformation?stopid=7602&format=xml";
xmlToJson(urlTrain, function(err, data) {
if (err) {
return console.err(err);
}
else{
console.log(data);
console.log(data.busstopinformation);
console.log(data.busstopinformation.results);
console.log(data.busstopinformation.results.result[0]);
console.log(data.busstopinformation.results.result[0].shortname);
}
})
这是我在命令行中收到的错误。 Link
非常感谢任何帮助。
答案 0 :(得分:0)
相反,我使用了JSON版本并改为使用此代码:
var request = require("request")
var url = "https://data.dublinked.ie/cgi-bin/rtpi/realtimebusinformation?stopid=4566&format=json"
request({
url: url,
json: true,
rejectUnauthorized: false
}, function (error, response, body) {
if (!error) {
console.log(body) // Print the json response
}
else{
console.log(error)
}
})
希望有人会觉得这很有用。