使用 node.js 将 url 显示到控制台

Mon*_*ndy 1 node.js

我如何将 request.url 显示到 console.log 中以查看有人调用了哪个 url?所以我想在控制台中查看每个调用的带有 url 的行。

抱歉,我是 Node.js 的初学者;-) 感谢您的帮助。

//Lets require/import the HTTP module
var http = require('http');

//Lets define a port we want to listen to
const PORT=8083; 

//We need a function which handles requests and send response
function handleRequest(request, response){
    response.end('It Works!! Path Hit: ' + request.url);
}

//Create a server
var server = http.createServer(handleRequest);

//Lets start our server
server.listen(PORT, function(){
    //Callback triggered when server is successfully listening. Hurray!
    console.log("Server listening on: http://localhost:%s", PORT);
    console.log("URL:%s");
});
Run Code Online (Sandbox Code Playgroud)

Nic*_*k D 5

如果您使用的是express,您可以设置一个自定义中间件,每个请求都会调用该中间件。

// logging middleware
var num = 0;
app.use(function (req, res, next) {
    var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
    var method = req.method;
    var url = req.url;

    console.log((++num) + ". IP " + ip + " " + method + " " + url);
    next();
});
Run Code Online (Sandbox Code Playgroud)

但你可以对你的 http 模块服务器做同样的事情:)

  • 仅供参考 console.log 接受多个参数: console.log(ip,method,url) (2认同)