首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取node.js应用程序的公用IP地址

获取node.js应用程序的公用IP地址
EN

Stack Overflow用户
提问于 2014-10-21 08:41:14
回答 4查看 8.5K关注 0票数 2

是否有node.js模块可用于获取发出请求的客户端计算机的公有IP地址?我不是指IPv4或IPv6,我需要你在http://www.whatismyip.com/上得到的公网IP

我试过req.connection.remoteAddress;,但是没有返回公网IP。它必须是公共的,所以我可以根据IP地址定位城市。

谢谢:)

EN

回答 4

Stack Overflow用户

发布于 2016-07-27 22:55:29

我知道这个老问题,但是现在你可以使用http://whatismyipaddress.com/api来获取IP了。只需向bot.whatismyipaddress.com发送请求并获取结果即可。

代码语言:javascript
运行
复制
var http = require('http');
http.get('http://bot.whatismyipaddress.com', function(res){
    res.setEncoding('utf8');
    res.on('data', function(chunk){
        console.log(chunk);
    });
});
票数 5
EN

Stack Overflow用户

发布于 2014-10-21 10:42:19

代码语言:javascript
运行
复制
var ip = (req.headers && req.headers['x-forwarded-for'])
         || req.ip 
         || req._remoteAddress 
         || (req.connection && req.connection.remoteAddress);
票数 1
EN

Stack Overflow用户

发布于 2020-11-12 01:08:00

下一行应该足够了

代码语言:javascript
运行
复制
let ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress || req.socket.remoteAddress;

如果您在本地测试,您将看到私有IP,但如果您在云上测试,您将收到的IP是公共IP。

您可以使用ngrok在本地测试它

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26477206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档