NodeJS标题 - 发布时添加斜杠?

时间:2017-03-26 12:18:01

标签: node.js https http-headers

使用本机nodejs将标头发布到第三方端点时,我遇到了一个奇怪的问题。由于我无法控制这个终点,因此很难调试。

我传递了一个名为token的自定义标头。该值可以包含正斜杠。

如果它确实包含斜杠,我可以看到来自远程端点的响应有一个反斜杠来逃避它。如果我传入一个没有斜线的令牌,它可以正常工作。

失败示例:

的NodeJS token:" / test / token / with / slashes"

API响应 {result:"fail", token: "\/test\/token\/with\/slashes"}

传递示例:

的NodeJS 令牌:" 1234"

API响应 {结果:"确定",令牌:" 1234"}

问题是令牌总是有斜杠。我已经尝试使用邮递员使用包含斜杠的令牌复制调用,但它工作正常。因此,我假设节点js在发出请求之前添加了这些?

非常感谢任何有关如何解决这个问题的见解。



var post_data = querystring.stringify({
    "value1" : "some value",
    "value": "some value 2"
});

var post_options = {
  "method": "POST",
  "hostname": "mydomain.com",
  "port": null,
  "path": "/REST/api/some-end-point",
  "headers": {
    "content-type": "multipart/form-data;",
    "token": "/YdIbwH6WAH/Djdw4JFH9/",
  }
};

var post_req = https.request(post_options, function(res) {
  res.setEncoding("utf8");
  res.on("data", function (chunk) {
      console.log("Response: " + chunk);
      var parsed = JSON.parse(chunk);
      console.log(parsed)
  });
});
// post the data
post_req.write(post_data);
post_req.end();




0 个答案:

没有答案