当前位置:   article > 正文

nodejs Websoket wss error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol

error:140770fc:ssl routines:ssl23_get_server_hello:unknown protocol

错误提示如下:

  1. Error: write EPROTO 140052867975040:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:../deps/openssl/openssl/ssl/s23_clnt.c:827:
  2.     at _errnoException (util.js:1022:11)
  3.     at WriteWrap.afterWrite [as oncomplete] (net.js:880:14) code: 'EPROTO', errno: 'EPROTO', syscall: 'write' }

最后发现是因为https使用的端口是443,而http使用的端口是80,这里要切换过来

代码如下:

  1. var content = querystring.stringify("id=111111");
  2. var options = {
  3. host: '127.0.0.1',
  4. hostname: "www.baidu.com",
  5. //port: 80, //http
  6. port: 443, //https
  7. path: action,
  8. method: 'POST',
  9. headers: {
  10. 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'/* ,
  11. 'Content-Length': send.length */
  12. }
  13. };
  14. var req = http.request(options, function (res) {
  15. //返回数据流
  16. var body="";
  17. res.setEncoding('utf8');
  18. res.on('data', function (chunk) {
  19. // console.log('BODY: ' + chunk);
  20. body += chunk;
  21. });
  22. res.on('end', function(){
  23. // console.log("body = "+body);
  24. if(body.length>0){
  25. try{
  26. //逻辑处理
  27. } catch(e){
  28. console.log(e);
  29. }
  30. }
  31. });
  32. });
  33. req.on('error', function (e) {
  34. console.log('problem with request: ' + e.message);
  35. });
  36. req.write(content);
  37. req.end();

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/198198
推荐阅读
相关标签
  

闽ICP备14008679号