我有节点js应用程序,我使用以下代码捕获IP地址:
var ip = req.headers['x-forwarded-for'] ||
req.connection.remoteAddress ||
这里,req.connection.remoteAddress在实际IP之前附加:: ffff:。 是否有一种标准的方法,只有在没有:: ffff之前返回的IP:除了剥离它之外?是否有一些API或某些东西可以调用来进行转换?
答案 0 :(得分:1)
您可以使用正则表达式仅捕获::ffff:
之后的内容:
var reg = /([^f:]+)/;
var str = '::ffff:127.0.0.1';
alert(reg.exec(str)[0]);
答案 1 :(得分:0)
您可以使用ipaddr.js
:
const ipaddr = require('ipaddr.js');
let mappedAddr = '::ffff:127.0.0.1';
let ipv4Addr = ipaddr.process(mappedAddr).toString(); // -> 127.0.0.1