0
我对NodeJS和它的所有迷人有点新鲜。我试图弄清楚如何结合geoip-lite和request-ip npm软件包来获取我的应用的大致用户位置。Nodejs客户端IP
到目前为止,我有这个
var requestIp = require('request-ip');
var geoip = require('geoip-lite');
var express = require('express');
var app = express();
//var ip = "108.219.41.178";//207.97.227.239
//var ip = req.headers['x-real-ip'] || req.connection.remoteAddress;
//var ip = req.header('x-forwarded-for') || req.connection.remoteAddress;
var ip = ???
var geo = geoip.lookup(ip);
var port = process.env.PORT || 3000;
/*app.use('/', function(req, res, next) {
var ipMiddleware = function(req, res, next) {
var clientIp = requestIp.getClientIp(req);
next();
};
});*/
app.get('/', function(req, res) {
res.send('<html><head><head/><body><h1>Hello World!</h1></body></html');
});
app.listen(port, function() {
console.log('Hello on 3000');/*always put console.log to see if its running/working*/
console.log(geo);
console.log("The IP is %s", geoip.pretty(ip));
});
/*node app.js to run*/
// var ip = req.headers['x-real-ip'] || req.connection.remoteAddress;
我无法找出使用请求IP来获得IP。 geoip-lite非常容易,花了2分钟。我想我对Nodejs的noobness也没有帮助。一个代码示例,告诉我我在做什么错误或没有想到会很好。
你用什么URL来测试?是偶然的,就像'http:// localhost:3000 /'? – Sgnl