Node.JS请求rejectUnauthorized为false
我正在尝试使用Node.js的request
模块来制定一个HTTPS GET请求。 使用https
模块的相应代码如下所示:
var https = require('https'); var options = { hostname: url, path: path, rejectUnauthorized: false, secureProtocol: 'TLSv1_method', port: 8443, method: 'POST' }; https.get(options, function(response) { var body = ''; response.on('data', function(chunk) { body += chunk.toString(); }); response.on('end', function() { var content = JSON.parse(body); console.log(content); }); });
我试图用request
模块重写这段代码,如下所示:
var request = require('request'); var options = { url: url, strictSSL: false } request.get(options, function(error, response, body) { if (error) { console.log(error); } else { console.log(body); } });
但是,这给了我一个错误{ [Error: socket hang up] code: 'ECONNRESET', sslError: undefined }
rejectUnauthorized: false
的request
是什么?
即使没有logging,Node.js中的request
模块也有secureProtocol
选项。
这可以使用如下:
var request = require('request'); var options = { url: url, strictSSL: false, secureProtocol: 'TLSv1_method' } request.get(options, function(error, response, body) { if (error) { console.log(error); } else { console.log(body); } });
添加这两行:
... rejectUnauthorized: false, requestCert: false,//add when working with https sites agent: false,//add when working with https sites ...
这对我行得通。