有没有一种方法可以访问HTTP请求发送到Node.js服务器的时间戳?类似于:
app.post('', function (req, res) { console.log(req.date); //or console.log(req.timestamp); }
我尝试了几种方法,并将整个req对象打印到控制台,但没有找到时间戳属性。我必须手动发送时间戳吗?我认为它已经是HTTP请求的一部分。
vyu0f0g11#
使用Date.now()在console.log上进行测试,每次获取请求时,输出的时间戳都不一样。获取时间戳
const timestamp = Date.now(); console.log(Math.floor(timestamp/1000)); //expected output: 1685106503
b09cbbtk2#
request headers中有Date,可用于获取时间戳。如果您使用Express-4.x,则可以使用req.get(headerName)来获取它。如果你使用的是node http模块,尝试使用console.dir(req.headers)。如果可用,可以从req.headers["Date"]获取这一切都是有效的提供您的时间戳是通过网络从客户端发送。还要检查请求(比如说Chrome开发工具网络),并检查发送的所有头。
req.get(headerName)
console.dir(req.headers)
req.headers["Date"]
2条答案
按热度按时间vyu0f0g11#
使用Date.now()
在console.log上进行测试,每次获取请求时,输出的时间戳都不一样。
获取时间戳
b09cbbtk2#
request headers中有Date,可用于获取时间戳。
如果您使用Express-4.x,则可以使用
req.get(headerName)
来获取它。如果你使用的是node http模块,尝试使用
console.dir(req.headers)
。如果可用,可以从req.headers["Date"]
获取这一切都是有效的提供您的时间戳是通过网络从客户端发送。还要检查请求(比如说Chrome开发工具网络),并检查发送的所有头。