NodeJS服务器“吞服”标题字段

我正在用nodejs创建代理服务器。 它工作正常,除非需要CSRF令牌。

当使用请求插件(https://github.com/request/request)发出请求时,响应对象的头部不会继续使用x-csrf-token,即使req.header对象作出了“Fetch”。

有任何想法吗?

app.use("/", function (req, res, next) {
    options = {
    'url': sDestination + req.url,
        'ca': cas,
        'jar': true,//jar,
        'strictSSL': true,
        'headers': {
    accept: '*/*'
        }
    };
    request(options, function (err, response, body) {
    if (err) { 
     console.error(err);
     }
    else {
     if (typeof req.headers['x-csrf-token'] === "string") {
    console.log("#1 " + (typeof req.headers['x-csrf-token'])); // string
     console.log("#2 " + (req.headers['x-csrf-token'])); // "Fetch"
     console.log("#3 " + (typeof response.headers['x-csrf-token'])); // undefined
     }
     }
    }).pipe(res);
}

尝试添加此请求标题:

"X-Requested-With": "XMLHttpRequest"

它可以在一些(可能不是全部)情况下做到这一点


这样做的工作:

req.pipe(request(options, function (err, response, body) {
    if (err) {
        return console.error('upload failed:', err);
    }
}), {end: (req.method === "GET" ? true : false)}).pipe(res);
链接地址: http://www.djcxy.com/p/89107.html

上一篇: NodeJS server "swallows" header field

下一篇: Use Charles Proxy to route https request to local http server