繁体   English   中英

使用Node.js连接https

[英]Connect https using nodejs

我正在尝试维护一些旧的Node js代码。 我在使用公司代理连接到https url时遇到问题。

下面的代码似乎不起作用。

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模块。

似乎是什么问题?

使用要求

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);
}
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM