从节点js的api请求中获取客户端公网IP可以通过以下步骤实现:
下面是一个示例代码:
const http = require('http');
const server = http.createServer((req, res) => {
const ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
res.end(`Client IP: ${ip}`);
});
server.listen(3000, () => {
console.log('Server is running on port 3000');
});
在上述示例中,通过req.headers'x-forwarded-for'获取x-forwarded-for字段的值,如果不存在则使用req.connection.remoteAddress获取IP地址。最后将获取到的IP地址返回给客户端。
这种方法适用于大多数情况下获取客户端的公网IP地址。然而,需要注意的是,由于网络架构的不同,有些情况下x-forwarded-for字段可能会被篡改或伪造,因此在实际应用中需要根据具体情况进行安全性的考虑和验证。
腾讯云相关产品和产品介绍链接地址:
云+社区技术沙龙[第4期]
小程序·云开发官方直播课(数据库方向)
云+社区技术沙龙[第7期]
云+社区技术沙龙[第14期]
云+社区技术沙龙[第10期]
云+社区技术沙龙[第6期]
云+社区技术沙龙[第8期]
云+社区技术沙龙[第5期]
云+社区技术沙龙[第21期]
腾讯云GAME-TECH游戏开发者技术沙龙
云+未来峰会
领取专属 10元无门槛券
手把手带您无忧上云