在Node.js中具体添加浏览器到POST请求

Specifically add browser to POST request in Node.js

我在 Node.js 服务中有一个代理端点正在转发 POST 请求,如下所示:

request.post(
    fullURL,
    { form: req.body },
    function (error, response, body) {
        if (response){
            res.status(response.statusCode).send(body);
        }
        else {
            res.status(500).send("ERROR");
        }
    }
);

这是转发到 Spring 引导服务,该服务试图通过以下方式提取浏览器信息:

String browser = request.getHeader("User-Agent");

但是通过代理转发时这个总是空的。 那么具体如何在请求中设置User-Agent呢?

注意: req.headers['user-agent'] 来自原始传入请求的所有内容均存在且正确,并准备好注入转发 POST请求

据我所知,您唯一的问题是您实际上并没有转发 user-agent header,但您正在阅读它。将 header object 与您的 POST 请求一起传递,如下所示:

headers: { 'User-Agent': userAgentVariable }

我自己还没有测试过,但请尝试以下操作:

request.post(
    fullURL,
    { 
      form: req.body,
      headers: {
            'User-Agent': request.getHeader("User-Agent")
      }
    },
    function (error, response, body) {
        if (response){
            res.status(response.statusCode).send(body);
        }
        else {
            res.status(500).send("ERROR");
        }
    }
);