Ich bin etwas neu zu NodeJS und all seiner Großartigkeit. Ich versuche herauszufinden, wie man geoip-lite und request-ip npm Pakete kombiniert, um den ungefähren Benutzerstandort für meine App zu erhalten.Nodejs Client IP
Bisher habe ich diese
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;
Ich habe Probleme, herauszufinden, über die IP Wunsch-ip zu erhalten. GeoIP-Lite war ziemlich einfach, dauerte 2 Minuten. Ich denke, meine Noobnität zu Nodejs hilft auch nicht. Ein Codebeispiel, um mir zu zeigen, was ich falsch mache oder nicht denke, wäre großartig.
Welche URL verwenden Sie zum Testen? ist es zufällig so etwas wie 'http: // localhost: 3000 /'? – Sgnl