nodejs中的SSL错误

Eva*_*iss 10 ssl request node.js

我正在尝试通过节点https.request()获取网页.这样做会导致我的代码记录错误.使用节点请求模块具有相同的结果:

请求的问题:140398870042432:错误:140773F2:SSL例程:SSL23_GET_SERVER_HELLO:sslv3警告意外消息:s23_clnt.c:658:

以下表示正在使用错误的SSL版本,但我找不到更改版本的方法:curl错误:"sslv3 alert unexpected messages".使用我的终端中的curl会返回响应,就像在我的浏览器中点击URL一样(它是一个登录页面).我的代码如下.

var request = require('request')
request.get("https://icmserver.wit.ie/balance", function(err, res, body) {
    if (err) {
        return console.log(err)
    }
    return body;
});
Run Code Online (Sandbox Code Playgroud)

有谁知道这里可能会发生什么?

Sup*_*abi 13

尝试options = { secureProtocol: 'SSLv3_method' }在您正在提出的请求中使用.

  • 只是为了澄清,SSLv3坏了,你不能使用它. (3认同)

Wil*_*ass 12

我们遇到了同样的问题.默认情况下,request使用https.globalAgent.所以我们在脚本顶部附近添加了代码.

var https = require('https');
https.globalAgent.options.secureProtocol = 'SSLv3_method';
Run Code Online (Sandbox Code Playgroud)

突然间一切都奏效了.