2016-04-13 27 views
2

Node.jsにrequestモジュールを使用してHTTPS GETリクエストを作成しようとしています。次のようにhttpsモジュールを使用して、対応するコードは次のとおりです。Node.JSのリクエストrejectUnauthorizedをfalseにして

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 }

を与えますrequest相当額はrejectUnauthorized: falseとなりますか?

答えて

2

Node.jsのrequestモジュールには、文書化されていないにもかかわらず、オプションsecureProtocolがあります。次のように

これは使用することができます。

... 
rejectUnauthorized: false, 
requestCert: false,//add when working with https sites 
agent: false,//add when working with https sites 
... 

私の作品:

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

は、これらの2行を追加します。

0

要求呼び出しにエージェントを追加できます。これにより、前の例のようにrejectUnauthorizedを追加できます。

const request = require('request'); 
const https = require('https'); 

var agent = new https.Agent({ 
    host: URL_HOST, 
    port: '443', 
    path: '/', 
    rejectUnauthorized: false 
}); 

var options = { 
    url: url, 
    agent: agent 
}; 

request.get(options, function(error, response, body) { 
    if (error) { 
    console.log(error); 
    } else { 
    console.log(body); 
    } 
}); 
関連する問題