Node.js 在节点http代理请求中设置日期

Node.js 在节点http代理请求中设置日期,node.js,node-http-proxy,Node.js,Node Http Proxy,我正在尝试创建一个节点http代理服务器,它显式地设置在所有请求中传递的日期。谁能告诉我怎么做 i、 e.我想强制所有HTTP请求中传递的日期都是过去的日期 在req.headers中设置日期似乎不起作用: var http = require('http'), httpProxy = require('http-proxy'); var proxy = httpProxy.createProxyServer({}); var server = http.createServer(fu

我正在尝试创建一个节点http代理服务器,它显式地设置在所有请求中传递的日期。谁能告诉我怎么做

i、 e.我想强制所有HTTP请求中传递的日期都是过去的日期

在req.headers中设置日期似乎不起作用:

var http = require('http'),
    httpProxy = require('http-proxy');

var proxy = httpProxy.createProxyServer({});
var server = http.createServer(function(req, res) {

  console.log("Proxying: " + req.url);
  req.headers["Date"] = "Fri, 18 Dec 2015 08:49:37 GMT";
  //req.headers["date"] = "Fri, 18 Dec 2015 08:49:37 GMT";
  proxy.web(req, res, { target: 'http://somewhereElse.com:9090' });
});

console.log("listening on port 8888")
server.listen(8888);
看看这个

因此,在你的情况下:

var http = require('http'),
    httpProxy = require('http-proxy');

//
// Create a proxy server with custom application logic
//
var proxy = httpProxy.createProxyServer({});

// To modify the proxy connection before data is sent, you can listen
// for the 'proxyReq' event. When the event is fired, you will receive
// the following arguments:
// (http.ClientRequest proxyReq, http.IncomingMessage req,
//  http.ServerResponse res, Object options). This mechanism is useful when
// you need to modify the proxy request before the proxy connection
// is made to the target.
//
proxy.on('proxyReq', function(proxyReq, req, res, options) {
  proxyReq.setHeader('Date', 'Fri, 18 Dec 2015 08:49:37 GMT');
});

var server = http.createServer(function(req, res) {
  // You can define here your custom logic to handle the request
  // and then proxy the request.
  proxy.web(req, res, {
    target: 'http://127.0.0.1:9090'
  });
});

console.log("listening on port 8888")
server.listen(8888);

这个解决方案对我不起作用。我的目标站点仍在使用当前日期。然而,如果我在我的浏览器机器上更改系统日期时间,那么站点将使用此日期。注意:我的目标主机不是上面示例代码中的127.0.0.1,而是单独主机上的URL。因此,我假设它一定是以某种方式从HTTP请求中获取日期。我已经解决了我的问题:1)日期信息是通过特定于应用程序的GET参数传递的,而不是通过日期:头2)“日期:”头是HTTP响应的一部分,而不是我最初认为的HTTP请求。