2017-05-03 1 views
0

ich einen Proxy-Endpunkt in einem Node.js-Dienst haben, POST-Anfragen weiterleitet, wie folgt:Insbesondere hinzufügen Browser-Anfrage in 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"); 
     } 
    } 
); 

Und dies zu einem Frühlings-Boot-Dienst weiterleitet, das ist versuchen, die Browser-Informationen zu extrahieren über:

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

Aber das ist immer leer, wenn über den Proxy weitergeleitet wird. Wie kann ich den User-Agent in der Anfrage festlegen?

HINWEIS: req.headers [ ‚user-agent‘] von der ursprünglichen eingehenden Anforderung ist alles vorhanden und korrekt, und bereit, in Forwarding POST-Anfrage

Antwort

2
injiziert wird

Von dem, was ich sehen kann, Ihr Das einzige Problem ist, dass Sie den User-Agent-Header nicht wirklich weiterleiten, sondern dass Sie ihn lesen. Übergeben Sie das Header-Objekt mit dem POST-Anfrage wie folgt:

headers: { 'User-Agent': userAgentVariable }

Lassen Sie sich diese selbst nicht getestet, aber versuchen Sie Folgendes:

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

Danke Herr, dass Wille mach es gut. – HomerPlata

+0

@HomerPlata Kein Problem. –