Javascript 如何调试nodejs.econnresterror:socket挂起

Javascript 如何调试nodejs.econnresterror:socket挂起,javascript,node.js,http,http-headers,Javascript,Node.js,Http,Http Headers,当我发送包含大量数据文件的表单时,远程服务器会突然关闭套接字。这也许就是为什么我犯了EconReset的错误。如何解决 我的nodejs代码: Promise((resolve, reject) => { let sendOption = { method: 'post', host: host, port: port, path: path, headers: form.getHeaders(), timeout: options.ma

当我发送包含大量数据文件的表单时,远程服务器会突然关闭套接字。这也许就是为什么我犯了EconReset的错误。如何解决

我的nodejs代码:

Promise((resolve, reject) => {
  let sendOption = {
    method: 'post',
    host: host,
    port: port,
    path: path,
    headers: form.getHeaders(),
    timeout: options.maxTimeout ? 1 * 60 * 60 * 1000 : 2 * 60 * 1000,
  }
  if (options.userName && options.passWord) {
    let auth = new Buffer(options.userName + ':' + options.passWord).toString('base64');
    sendOption.Authorization = 'Basic ' + auth;
  }
  let request = http.request(sendOption, (res) => {
    let body = ''
    res.on('data', function (chunk) {
      body += chunk;
    });
    res.on('end', () => {
      resolve(JSON.parse(body))
    })
  });
  request.on('error', (err) => reject(err));
  request.write(form.getBuffer());
  request.end();
})
完全错误:

2020-02-17 19:09:25,570 ERROR 18664 [-/::1/-/14867ms POST /thirdPartUpload] nodejs.ECONNRESETError: socket hang up
    at connResetException (internal/errors.js:570:14)
    at Socket.socketOnEnd (_http_client.js:440:23)
    at Socket.emit (events.js:215:7)
    at endReadableNT (_stream_readable.js:1184:12)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)
code: "ECONNRESET"
name: "ECONNRESETError"
pid: 18664
hostname: PC-HZ20139584
    enter code here
POST请求需要内容长度:声明其正文长度的标题。在您的情况下,您可以发送带有request.writeform.getBuffer的帖子正文

缺少或错误的Content-Length:header在服务器上看起来像是试图利用漏洞进行攻击。因此,服务器砰地关上门,突然关闭了这些请求的连接,这在您的客户端中显示为EconReset

试试这样的

const buff = form.getBuffer();
request.setHeader('Content-Length', buff.length);    
request.write(buff);

检查这是否有助于@properchels我尝试了所有方法错误仍然存在。