希望有人會發現這是一個相對簡單的答案,但目前它超出了我的范圍。我有一個 Node.js/Express 設定。我只是嘗試在對站點的每個請求時檢索客戶端 IP 地址。我的代碼如下:
const express = require('express');
const app = express();
const port = 3000;
...
// Start server...
var webServer = app.listen(process.env.PORT || port, function(request, response) {
console.log(" Received request for " new Date());
var _FORWARD_IP = request.headers['x-forwarded-for'];
console.log('_FORWARD_IP (CLIENT IP ADDRESS): ' _FORWARD_IP);
});
但是,這會引發以下錯誤:
“TypeError:無法讀取未定義的屬性‘標題’”
因此,“app.listen”命令中的“請求”物件中似乎沒有標頭。我不確定如何解決,這是處理此類問題的初始實體。如果有人知道答案或解決方法,將不勝感激。我提前謝謝你。
問候
uj5u.com熱心網友回復:
app.listen()只是啟動服務器,告訴它監聽請求。您的代碼中此時沒有請求。
這聽起來像是一些自定義中間件的作業
const port = process.env.PORT || 3000;
// Middleware
app.use((req, res, next) => {
const _FORWARD_IP = req.get('x-forwarded-for');
console.log('_FORWARD_IP (CLIENT IP ADDRESS):', _FORWARD_IP);
next();
});
app.listen(port, () => {
// This callback executes when the server is ready to accept connections
console.info(`Express server started on port ${port}`);
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/521274.html
上一篇:我想在異步函式中使用for回圈和javascript中的“thens”
下一篇:放置一些路由引數時出現路由問題
