使用nodejs连接https

时间:2017-11-13 09:22:59

标签: node.js node-modules

我正在尝试维护一些旧的Node js代码。我无法使用公司代理连接到https网址。

以下代码似乎无法运作。

var https = require('https');
var options = {
    hostname: 'PROXY_IP',
    port    : PROXY_PORT,
    path : 'https://server.ourdomain.com/path/to/secure/api',
    rejectUnauthorized : false,
    headers: {
        'Authorization': 'Basic ' + new Buffer('username:password').toString('base64'),
        'Content-Type': 'application/json',
        'Host' : 'https://server.ourdomain.com:443'
    }
}
var responseChunk = '';
callback = function(response) {
    if(response.statusCode !== 200) {
        //Error occured. Handle error
    }
    response.on('data', function (chunk) {
        responseChunk += chunk;
    });
    response.on('end', function () {
        // Got complete response. Process and do something
    });
}
var get_req = https.request(options, callback);
get_req.on('error', function(e) {
    console.log("Error:" + e)
});
get_req.end();

执行此操作后出错是

Error:Error: socket hang up

我能够使用request模块实现此功能。但不使用https模块。

什么似乎是问题?

1 个答案:

答案 0 :(得分:0)

使用请求..

var request = require('request');
request({'url':'https://anysite.you.want/sub/sub','proxy':'http://yourproxy:8087'}, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
})