gpt4 book ai didi

node.js - 使用node/express捕获所有http请求

转载 作者:太空宇宙 更新时间:2023-11-04 00:35:42 24 4
gpt4 key购买 nike

我希望捕获网站上任何请求(图像、字体、css、js 等)的所有数据,以便我可以捕获文件详细信息,特别是文件名和文件大小。我发现了几乎相同的问题/解决方案:

Node.js : How to do something on all HTTP requests in Express?

但 Express v4 似乎已弃用该解决方案。有一个简单的解决方案可以做到这一点吗?作为另一种方法,我尝试了以下解决方案,但没有成功:

var express = require("express");
var path = require("path");
var port = process.env.PORT || 3000;

var app = express();
var publicPath = path.resolve(__dirname, "public");

app.use(express.static(publicPath));

app.get("/", function(req, res){
// I want to listen to all requests coming from index.html
res.send("index.html");
});

app.all("*", function(){
// can't get requests
})

app.listen(port, function(){
console.log(`server listening on port ${port}`);
});

此外,我不希望从 Fiddler/Charles 执行此操作,因为我希望在我的网站上显示此数据。

最佳答案

快速路线以订单为基础。请注意,您在问题中链接的答案已定义中间件,并在所有其他路由之前使用。

其次,您尝试实现需要中间件而不是通配符路由的东西。根据他们的docs,您在问题中提供的链接中的模式并未被弃用。 .

app.use(function (req, res, next) {
// do something with the request
req.foo = 'testing'
next(); // MUST call this or the routes will not be hit
});

app.get('/', function(req, res){
if (req.foo === 'testing') {
console.log('works');
}

res.send("index.html");
});

关于node.js - 使用node/express捕获所有http请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39148216/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com