【问题标题】:Specifically add browser to POST request in Node.js专门将浏览器添加到 Node.js 中的 POST 请求
【发布时间】:2017-05-03 13:14:42
【问题描述】:

我在 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 Boot 服务:

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

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

注意:来自原始传入请求的 req.headers['user-agent'] 全部存在且正确,并准备好注入到转发 POST 请求中

【问题讨论】:

    标签: javascript node.js user-agent


    【解决方案1】:

    据我所知,您唯一的问题是您实际上并没有中继用户代理标头,但您正在阅读它。将标头对象与您的 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");
            }
        }
    );

    【讨论】:

    • 谢谢你,先生,那会很好。
    • @HomerPlata 完全没问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-14
    • 1970-01-01
    • 1970-01-01
    • 2021-08-02
    • 2012-05-10
    • 2016-09-14
    • 1970-01-01
    相关资源
    最近更新 更多