我正在构建一个基本的网络调查,并希望获取客户的 IP 地址以通过网站跟踪他们。我查看了其他一些 stackoverflow 问题并遵循了他们的建议,但得到了一个奇怪的输出。来自以下代码:
index.js:
/*POST users*/
router.post('/users', function(req, res, next) {
req.body.ip = req.connection.remoteAddress;
console.log(req.body);
var user = new User(req.body);
user.save(function(err,user) {
if(err) {
return next(err);
}
res.json(user);
});
});
我得到了这样的 mongo 文档:
"_id" : ObjectId("55cb531714b922ad2478ae9f"),
"ip" : "::1",
"responses" : [
{
"questionId" : "55c9fbb0401a5ba71ce5181a",
"optionValue" : 2,
"_id" : ObjectId("55cb531714b922ad2478aea1")
},
{
"questionId" : "55c9fbe90f6fefa91cb4fc2d",
"optionValue" : 2,
"_id" : ObjectId("55cb531714b922ad2478aea0")
}
],
"__v" : 0
有什么想法为什么我可能会得到这个输出吗?
最佳答案
那是因为 ::1
是 the IPv6 shorthand for localhost
.
你的程序看起来运行良好;尝试从远程计算机访问该站点以获得看起来正常的 IP。
关于node.js - 查找客户端ip express ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31967822/