在node.js

时间:2017-08-04 06:32:46

标签: node.js remote-server

我有一个应用程序,我需要点击远程服务器来获取数据,为此我使用sample.js作为调解器。但是当我运行此文件时,我收到以下错误。

  

socket挂断

我在sample.js中的代码

var qs = require('querystring');
var http = require('https');

var options = {
  "method": "post",
  "hostname": "xxx",
  "port": null,
  "path": "/xxx",
  "headers": {
    "authorization": "xxx",
    "content-type": "application/x-www-form-urlencoded",
    "cache-controller": "no-cache",
    "postman-token": "xxx"
  }
};

var myToken = "";
var req = http.request(options, function(res) {
  var chunks = [];
  res.on("data", function(chunk) {
    chunks.push(chunk);
  });
  res.on("end", function() {
    var body = Buffer.concat(chunks);
    myToken = body.toString();
    req.write(qs.stringify({
      glba: 'otheruse',
      dppa: 'none'
    }));
    req.end();
  });
});

我不确定这个错误,有人可以建议我帮忙吗?

1 个答案:

答案 0 :(得分:0)

检查远程服务器是否在您的控制范围内。通常,当服务器没有及时发送响应并且您的套接字刚刚结束时会发生这种情况如果抓住它并使用重试/排队等会更好。

还尝试增加选项中的超时。可能是服务器响应有点晚了。像这样 -

-Djava.util.Arrays.useLegacyMergeSort=true

希望这有帮助!