superagent 对个别网站发送get请求后得到ECONNRESET错误
发布于 8 年前 作者 linzhiqiangyoov 5560 次浏览 来自 问答

我在模拟登录 https://myportal.vtc.edu.hk/wps/portal 时,没有得到响应信息,过了一段时间后得到一个错误返回: code: “ECONNRESET”, errno: “ECONNRESET”, syscall: "read" 我在网上搜了很久,都没有找到具体原因和解决方法,请教各位老司机给指条明路,谢谢!

let url = 'https://myportal.vtc.edu.hk/wps/portal';
    superagent
      .get(url)
      .set({
        // Accept:'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
        // 'Accept-Encoding':'gzip, deflate, sdch, br',
        // 'Accept-Language':'zh-CN,zh;q=0.8,en;q=0.6',
        'Cache-Control':'no-cache',
        'Content-Type':'application/x-www-form-urlencoded',
        // Host:'myportal.vtc.edu.hk',
        // refer: 'http://mytag.hk/step1.php',
        // 'Upgrade-Insecure-Requests':1,
        // 'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36'
      })
      // .redirects(0)
      .end(function (err, pres) {
        if (err) {
          return res.item(err);
        }
        return res.write(pres.text);
      });
3 回复

这应该是 node 的 https 模块的问题,只能等他们修好了

楼主, 这是他们网站用的 tls 的问题。你改变 https 用的安全协议就好。

const https = require('https');

var options = {
  hostname: 'myportal.vtc.edu.hk',
  port: 443,
  path: '/wps/portal',
  method: 'GET',
  secureProtocol: 'TLSv1_method'
};

var req = https.request(options, (res) => {
  console.log('statusCode:', res.statusCode);
  console.log('headers:', res.headers);

  res.on('data', (d) => {
    process.stdout.write(d);
  });
});
req.end();

req.on('error', (e) => {
  console.error(e);
});

@IchiNiNiIchi 谢谢大神!改变了https的安全协议后就可以了

回到顶部