在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");
}
}
);
我在 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");
}
}
);