使用https时Node.js中的套接字挂断错误

时间:2014-04-07 12:51:24

标签: javascript node.js https http-post

我正在尝试使用安全连接https通过Nodejs使用HTTP GET方法。这是我的代码:

var https = require('https');
https.globalAgent.options.secureProtocol = 'SSLv3_method';

var options = {
  host: 'my_proxy_address',
  port: 3128,
  path: 'https://birra-io2014.appspot.com/_ah/api/birra/v1/beer',
  method: 'GET',
  headers: {
    accept: '*/*'
  }
};

var req = https.request(options, function(res) {
  console.log(res.statusCode);
  res.on('data', function(d) {
    process.stdout.write(d);
  });
});
req.end();

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

当我运行时,我收到错误:

{ [Error: socket hang up] code: 'ECONNRESET', sslError: undefined }

我无法使用HTTP,因为appspot需要https。 请帮忙! 提前谢谢。

1 个答案:

答案 0 :(得分:2)

尝试以下代码。 (它为我工作)

var https = require('https');

var options = {
  port: 443,
  host: 'birra-io2014.appspot.com',
  path: '/_ah/api/birra/v1/beer',
  method: 'GET',
  headers: {
    accept: '*/*'
  }
};

var req = https.request(options, function(res) {
  console.log("statusCode: ", res.statusCode);
  console.log("headers: ", res.headers);

  res.on('data', function(d) {
    process.stdout.write(d);
  });
});
req.end();

req.on('error', function(e) {
  console.error('ERROR object ==>' + e);
});