2017-02-07 14 views
0

Я пытаюсь получить доступ к набору данных XML из URL-адреса HTTPS с помощью Node.js. Я использовал тот же код с другим набором данных, который использовал URL-адрес HTTP, и он работал нормально.Пытается получить доступ к URL-адресу https с помощью Node.js

Я заглянул в это 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); 
    } 
}) 

Это ошибка, которую я получаю в командной строке. enter image description here

Любая помощь будет очень признательна.

ответ

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) 
    } 
}) 

Надеюсь кто-то найдет это полезным.