2017-01-29 21 views
1

Может кто-нибудь пожалуйста, скажите мне, почему этот запрос HTTPS в nodejs:запрос узла HTTPS на самом деле HTTP

var options = { 
     "method": "GET", 
     "hostname": "www.something.com", 
     "port": 443, 
     "path": "/api/v1/method?from=" + dates.startDate + "&to=" + dates.endDate, 
     "headers": { 
      "accept": "application/json", 
      "authorization": 'Basic ' + new Buffer(access.key + ':' + access.secret).toString('base64'), 
      "cache-control": "no-cache" 
     } 
    }; 

    var req = https.request(options, function(res) { 
     var chunks = []; 

     res.on("data", function(chunk) { 
      chunks.push(chunk); 
     }); 

     res.on("end", function() { 
      var body = Buffer.concat(chunks); 
      console.log(body); 
     }); 

     res.on('error', function(e) { 
      console.log(e); 
     }); 
    }) 

    req.end(); 

Заканчивается выходить, как HTTP и не HTTPS? В отладочном-клиенте журналы в выглядит следующим образом:

«→ GET http://www.something.com/api/v1/method?from=2017-01-01&to=2017-01-25»

Это работает, и я получаю результаты, но я предпочел бы его с помощью протокола HTTPS ...

Что я Я делаю неправильно?

+0

The [по умолчанию 'protocol'] (https://nodejs.org/api/http.html#http_http_request_options_callback) является'» http''; если вы хотите «https», то установите его на это. – jonrsharpe

ответ

1

Попробуйте изменить это:

var options = { 
     "method": "GET", 
     "hostname": "www.something.com", 
     "port": 443, 
     "path": "/api/v1/method?from=" + dates.startDate + "&to=" + dates.endDate, 
     "headers": { 
      "accept": "application/json", 
      "authorization": 'Basic ' + new Buffer(access.key + ':' + access.secret).toString('base64'), 
      "cache-control": "no-cache" 
     } 
    }; 

к:

var options = { 
     "method": "GET", 
     "hostname": "www.something.com", 
     "port": 443, 
     "protocol": "https:", 
     "path": "/api/v1/method?from=" + dates.startDate + "&to=" + dates.endDate, 
     "headers": { 
      "accept": "application/json", 
      "authorization": 'Basic ' + new Buffer(access.key + ':' + access.secret).toString('base64'), 
      "cache-control": "no-cache" 
     } 
    }; 
+0

Jep, вот и все! Большое спасибо! :) – Seb