2013-12-21 69 views
2

这是我的代码。我正在运行0.10.24版本。有人可以看看这个吗?出现错误“显示错误:6304:错误:140770FC:SSL例程:SSL23_GET_SERVER_HELLO:未知协议:openssl \ ssl \ s23_clnt.c:766:”。使用请求API(node.js)时出现未知协议错误

var url = require('url'), 
    request = require('request'), 
    loginLink = "https://foo"; 

var params = { 
    maxRedirects: 10, 
    followRedirect: true, 
    followAllRedirects: true, 
    timeout: 10000, 
    url: url.parse(loginLink), 
    method: "POST", 
    jar: true, 
    strictSSL: false, 
    form: { 
     'userid': 'userid', 
     'pwd': 'pass', 
     'timezoneOffset': -330 
    }, 
    headers: { 
     'User-Agent': 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1753.0 Safari/537.36', 
     'Connection': 'keep-alive', 
     'Origin': 'https://foo' 
    } 
} 

request(params,function(error,response,body){ 
    if(!error && response.statusCode == 200){ 
     console.log(body); 
    }else{ 
     console.log(response); 
     console.log(error); 
    } 
}); 

回答

1

变化SSL版本(?)

options = { 
    .... 
    strictSSL: false, 
    secureProtocol: 'SSLv3_client_method', 
    .... 
} 
+0

感谢@damphat。有效!顺便说一句,你是如何在这方面取得成功的?在软件包的github页面上没有提到这样的选项。即使是nodejs.org api网站也没有说什么。 – identifyMe

+0

@identifyMe您可以在http://nodejs.org/api/https.html#https_https_request_options_callback中阅读文档 – damphat

相关问题