2013-03-06 3 views
4

Я связываюсь, чтобы получить данные из vk.com api через протокол https. как это (api vk docs):https request from heroku

var https = require('https'); 

https.get('https://api.vk.com/method/users.get?access_token=' + global['access_token'], function (d) { 
    var chunk = ''; 
    d.on('data', function (data) { 
    chunk += data; 
    }); 

    d.on('end', function() { 
    console.log(chunk); 
    }); 
}).on('error', function (e) { 
    console.error(e); 
}); 

, но в журналах Heroku я вижу

Error: Protocol:https: not supported. 

Итак, как я могу получить эти данные? Мое приложение работает в протоколе HTTP, это конфиг:

var express = require('express'), 
    routes = require('./routes'); 

var app = express(); 

    app.configure(function() { 
     app.set('port', process.env.PORT || 3000); 
     app.set('views', __dirname + '/views'); 
     app.set('view engine', 'jade'); 
     app.use(express.favicon()); 
     app.use(express.logger('dev')); 
     app.use(express.bodyParser()); 
     app.use(express.methodOverride()); 
     app.use(app.router); 
     app.use(express.static(path.join(__dirname, 'public'))); 
    }); 

    app.configure('development', function() { 
     app.use(express.errorHandler()); 
    }); 

    app.get('/', routes.index); 

    http.createServer(app).listen(app.get('port'), function() { 
     console.log("Express server listening on port " + app.get('port')); 
    }); 
+0

вы указав версию узла в вашем package.json? Старые версии узла имел только' https.get' с опционами парами, а не строка. –

+0

да, я пишу «узел»: «0.8.x». на локальной машине все работает правильно – user1666362

ответ

0

Node v0.8.9 добавлена ​​функциональность, чтобы сделать https.get() принимают URL.

Если у вас есть очень конкретная причина, используйте «node»: «0.10.x» под двигателями package.json.

Также попробуйте:

`опции вар = { хозяин: 'api.vk.com', порт: 443, путь: '/method/users.get?access_token=' + глобальный [» access_token '] };

https.get («опции», функция (.... `