2017-05-03 25 views
0

我有一个Node.js的服务,被转发POST请求的代理端点:具体添加到浏览器的POST请求中的Node.js

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

,这是转发到春季启动的服务,是尝试通过以下方式提取浏览器信息:

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

但是,通过代理进行转发时,它总是空的。 那么如何在请求中专门设置User-Agent?

注: req.headers [“用户代理”]原传入的请求是所有现在和正确的,并准备注入转发POST请求

回答

2

从我所看到的,你的唯一的问题是你实际上没有中继用户代理标题,但你正在阅读它。与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"); 
 
     } 
 
    } 
 
);

+0

谢谢主席先生,这将做得很好。 – HomerPlata

+0

@HomerPlata完全没问题。 –