使用 ExpressJS 应用程序查找客户端的 IP 地址
Find the clients' IP address using an ExpressJS app
几天前,我写了一个nodejs script来记录用户代理。虽然我的脚本确实有效,但我找不到一种有效的方法来记录客户端的 REMOTE_ADDRESS
。
app.js:
var express = require('express'), http = require('http'), app = express();
http.createServer(app).listen(8080);
app.get('/', function(req, res) {
res.send(JSON.stringify(req.get('user-agent')))
console.log(JSON.stringify(req.get('user-agent')));
});
所以,如果你 curl http://localhost:8080
它 returns curl/7.55.1
。
但是,我无法实现记录客户端的IP地址。
有什么解决办法吗?
request.connection.remoteAddress
使用这个。如果您的请求来自本地主机,IP 将显示为 ::1
但如果您的请求来自不同的 IP,那么它将显示正确的 IP。如果您还想考虑来自代理服务器的请求,请查看以下代码:
IP Address Code Snippet
几天前,我写了一个nodejs script来记录用户代理。虽然我的脚本确实有效,但我找不到一种有效的方法来记录客户端的 REMOTE_ADDRESS
。
app.js:
var express = require('express'), http = require('http'), app = express();
http.createServer(app).listen(8080);
app.get('/', function(req, res) {
res.send(JSON.stringify(req.get('user-agent')))
console.log(JSON.stringify(req.get('user-agent')));
});
所以,如果你 curl http://localhost:8080
它 returns curl/7.55.1
。
但是,我无法实现记录客户端的IP地址。 有什么解决办法吗?
request.connection.remoteAddress
使用这个。如果您的请求来自本地主机,IP 将显示为 ::1
但如果您的请求来自不同的 IP,那么它将显示正确的 IP。如果您还想考虑来自代理服务器的请求,请查看以下代码:
IP Address Code Snippet