Node.js 为什么node/Express中的req.ip返回冒号分隔的ip地址?

Node.js 为什么node/Express中的req.ip返回冒号分隔的ip地址?,node.js,express,Node.js,Express,我正在尝试记录远程客户端IP。听起来很简单,Express在请求对象上提供“ip”属性,如req.ip中所述,以获取此信息。此外,对于涉及代理的X-Forwarded-For,还存在req.ips来获取多个IP地址。我还尝试了npm模块-ip。我的问题是,它们都返回客户端IP地址,如中所示 ::ffff:A.B.C.D A.B.C.D确实是我要找的地址。但是,我的问题是:前缀是什么?我可以理解req.ips或X-Forwarded-For返回多个IP地址,但即使在那里,我也希望实际的IP地址

我正在尝试记录远程客户端IP。听起来很简单,Express在请求对象上提供“ip”属性,如req.ip中所述,以获取此信息。此外,对于涉及代理的X-Forwarded-For,还存在req.ips来获取多个IP地址。我还尝试了npm模块-ip。我的问题是,它们都返回客户端IP地址,如中所示

 ::ffff:A.B.C.D
A.B.C.D确实是我要找的地址。但是,我的问题是:前缀是什么?我可以理解req.ips或X-Forwarded-For返回多个IP地址,但即使在那里,我也希望实际的IP地址不是空的


当然,我可以获取最后一个地址,但我想知道冒号分隔的空白条目是什么意思,即使在尝试仅获取单个req.ip地址时也是如此?

双冒号
::
是IPv6中的一种快捷方式,用于指示中提到的一串零。第一部分
::fff:
是IPv4地址的前缀,作为IPv6的一部分嵌入到IPv6地址中


看起来你得到了一个IPv6地址,仅此而已。@Edwin Dalorzo就是这样!如果你将此作为答复,我将接受。我想一定有办法获得IPv4格式的if,但更重要的是,我想知道输出是什么,你回答了这个问题。我对你的答案投了赞成票。如果埃德温·达洛佐没有给出答案,我会接受你的答案。他首先发布了答案,不过只是作为评论。
::ffff:A.B.C.D
--v6-- --v4--