Używam IBM Bluemix do stworzenia usługi internetowej dla projektu szkolnego.Błąd węzła js: protokół "https:" nie jest obsługiwany. Oczekiwany "http:"
Mój projekt musi zażądać JSON z interfejsu API, aby móc korzystać z danych, które udostępnia. Używam metody http get
dla zestawu danych i nie jestem pewien, czy działa poprawnie.
Kiedy uruchomić mój kod, otrzymuję komunikat:
Error: Protocol "https:" not supported. Expected "http:"
Co jest przyczyną i jak mogę go rozwiązać?
Oto moja .js
file:
// Hello.
//
// This is JSHint, a tool that helps to detect errors and potential
// problems in your JavaScript code.
//
// To start, simply enter some JavaScript anywhere on this page. Your
// report will appear on the right side.
//
// Additionally, you can toggle specific options in the Configure
// menu.
function main() {
return 'Hello, World!';
}
main();/*eslint-env node*/
//------------------------------------------------------------------------------
// node.js starter application for Bluemix
//------------------------------------------------------------------------------
// HTTP request - duas alternativas
var http = require('http');
var request = require('request');
// cfenv provides access to your Cloud Foundry environment
// for more info, see: https://www.npmjs.com/package/cfenv
var cfenv = require('cfenv');
//chama o express, que abre o servidor
var express = require('express');
// create a new express server
var app = express();
// serve the files out of ./public as our main files
app.use(express.static(__dirname + '/public'));
// get the app environment from Cloud Foundry
var appEnv = cfenv.getAppEnv();
// start server on the specified port and binding host
app.listen(appEnv.port, '0.0.0.0', function() {
// print a message when the server starts listening
console.log("server starting on " + appEnv.url);
});
app.get('/home1', function (req,res) {
http.get('http://developers.agenciaideias.com.br/cotacoes/json', function (res2) {
var body = '';
res2.on('data', function (chunk) {
body += chunk;
});
res2.on('end', function() {
var json = JSON.parse(body);
var CotacaoDolar = json["dolar"]["cotacao"];
var VariacaoDolar = json["dolar"]["variacao"];
var CotacaoEuro = json["euro"]["cotacao"];
var VariacaoEuro = json["euro"]["variacao"];
var Atualizacao = json["atualizacao"];
\t \t \t
\t \t \t obj=req.query;
\t \t \t
\t \t \t DolarUsuario=obj['dolar'];
\t \t \t RealUsuario=Number(obj['dolar'])*CotacaoDolar;
\t \t \t
\t \t \t EuroUsuario=obj['euro'];
\t \t \t RealUsuario2=Number(obj['euro'])*CotacaoEuro;
\t \t \t
\t \t \t Oi=1*VariacaoDolar;
\t \t \t Oi2=1*VariacaoEuro;
\t \t \t
\t \t \t if (VariacaoDolar<0) {
\t \t \t recomend= "Recomenda-se, portanto, comprar dólares.";
\t \t \t }
\t \t \t
\t \t \t else if (VariacaoDolar=0){
\t \t \t \t recomend="";
\t \t \t }
\t \t \t
\t \t \t else {
\t \t \t \t recomend="Recomenda-se, portanto, vender dólares.";
\t \t \t \t }
\t \t \t \t
\t \t \t if (VariacaoEuro<0) {
\t \t \t recomend2= "Recomenda-se, portanto, comprar euros.";
\t \t \t }
\t \t \t
\t \t \t else if (VariacaoEuro=0){
\t \t \t \t recomend2="";
\t \t \t }
\t \t \t else {
\t \t \t \t recomend2="Recomenda-se,portanto, vender euros.";
\t \t \t \t } \t
\t \t \t \t
\t \t \t res.render('cotacao_response.jade', {
\t \t 'CotacaoDolar':CotacaoDolar,
\t \t \t \t \t \t 'VariacaoDolar':VariacaoDolar,
\t \t \t \t \t \t 'Atualizacao':Atualizacao,
\t \t \t \t \t \t 'RealUsuario':RealUsuario,
\t \t \t \t \t \t 'DolarUsuario':DolarUsuario,
\t \t \t \t \t \t 'CotacaoEuro':CotacaoEuro,
\t \t \t \t \t \t 'VariacaoEuro':VariacaoEuro,
\t \t \t \t \t \t 'RealUsuario2':RealUsuario2,
\t \t \t \t \t \t 'recomend':recomend,
\t \t \t \t \t \t 'recomend2':recomend2,
\t \t \t \t \t \t 'Oi':Oi,
\t \t \t \t \t \t 'Oi2':Oi2
});
\t \t \t
\t \t app.get('/home2', function (req,res) {
http.get('https://www.quandl.com/api/v3/datasets/BCB/432.json?api_key=d1HxqKq2esLRKDmZSHR2', function (res3) {
var body = '';
res3.on('data', function (chunk) {
body += chunk;
});
\t \t res3.on('end', function() {
var x=json.dataset.data[0][1];
console.log("My JSON is "+x); });
});
});
});
});
});z
Oto wydruk ekranu błędów uzyskać:
Dlaczego ta decyzja została odrzucona użytkownikowi? Wydaje się, że rozsądnie byłoby po prostu przeanalizować protokół i użyć odpowiedniej funkcji za kulisami. –
Uh, dobrze? Nie rozumiem, dlaczego to decyduje użytkownik. – BastiBen