web-dev-qa-db-ja.com

rejectUnauthorizedがfalseのNode.JSリクエスト

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 }

requestと同等のrejectUnauthorized: false

8
ashishbaghudana

ドキュメント化されていませんが、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);
    }
});
2
ashishbaghudana

次の2行を追加します。

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

それは私のために働きます。

0
Mark Ryan Orosa

リクエストコールにエージェントを追加できます。これにより、以前と同じように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);
  }
});
0
HHH

これは役立つかもしれません。

let request = require( 'request' ).defaults({rejectUnauthorized:false});
0
M. Hamza Rajput