11

ノード https.request() 経由で Web ページを取得しようとしています。これを行うと、コードによってログに記録されるエラーが発生します。node request モジュールを使用しても同じ結果になります。

リクエストの問題: 140398870042432:エラー:140773F2:SSL ルーチン:SSL23_GET_SERVER_HELLO:sslv3 アラートの予期しないメッセージ:s23_clnt.c:658:

以下は、間違った SSL バージョンが使用されていることを示していますが、バージョンを変更する方法が見つかりません: curl error: "sslv3 alert unexpected message" . 端末から 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;
});

ここで何が起こっているのか誰にも分かりませんか?

4

3 に答える 3

13

options = { secureProtocol: 'SSLv3_method' }作成しているリクエストで使用してみてください。

于 2012-07-10T07:22:40.687 に答える
12

同じ問題にぶつかりました。デフォルトでは、リクエストは https.globalAgent を使用します。そのため、スクリプトの上部近くにコードを追加しました。

var https = require('https');
https.globalAgent.options.secureProtocol = 'SSLv3_method';

突然、すべてが機能しました。

于 2012-10-02T01:22:39.303 に答える