在 Node.js 中访问 HTTP 请求的时间戳

Access the time stamp of a HTTP request in Node.js

有没有办法访问 HTTP 请求发送到 Node.js 服务器时的时间戳?

类似于:

app.post('', function (req, res) {
    console.log(req.date);   //or
    console.log(req.timestamp);
}

我尝试了几件事并且已经将整个 req 对象打印到控制台,但没有找到时间戳属性。我必须手动发送时间戳吗?我以为它已经是 HTTP 请求的一部分了。

request headers中有Date可以用来获取时间戳。

如果您使用的是 Express-4.x,您可以使用 req.get(headerName) 来获取它。

如果您正在使用节点 http 模块,请尝试执行 console.dir(req.headers)。如果可用,您可以从 req.headers["Date"]

获取

如果您的时间戳是从客户端通过网络发送的,那么这一切都是有效的。还要检查请求(假设 Chrome 开发工具网络)并检查所有 headers 发送的内容。