Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 来自heroku的https请求_Node.js_Heroku_Https - Fatal编程技术网

Node.js 来自heroku的https请求

Node.js 来自heroku的https请求,node.js,heroku,https,Node.js,Heroku,Https,我想通过https协议从vk.com api获取数据。像这样(): 但在heroku日志中我看到了 Error: Protocol:https: not supported. 那么,我怎样才能得到这些数据呢?我的应用程序使用http协议,这是配置: var express = require('express'), routes = require('./routes'); var app = express(); app.configure(function () {

我想通过https协议从vk.com api获取数据。像这样():

但在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'));
    });

节点v0.8.9添加了使https.get()接受URL的功能

除非您有非常具体的原因,否则请在package.json的引擎下使用“node”:“0.10.x”

还可以尝试:

`变量选项={ 主机:“api.vk.com”, 港口:443, 路径:'/method/users.get?access_-token='+global['access_-token'] };


https.get('options',function(…..`

您是否在package.json中指定了节点版本?旧版本的node只有
https.get
带有选项参数,而不是字符串。是的,我写了“node”:“0.8.x”。在本地计算机上所有工作正常
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'));
    });