是否有node.js模块可用于获取发出请求的客户端计算机的公有IP地址?我不是指IPv4或IPv6,我需要你在http://www.whatismyip.com/上得到的公网IP
我试过req.connection.remoteAddress;,但是没有返回公网IP。它必须是公共的,所以我可以根据IP地址定位城市。
谢谢:)
发布于 2016-07-27 22:55:29
我知道这个老问题,但是现在你可以使用http://whatismyipaddress.com/api来获取IP了。只需向bot.whatismyipaddress.com发送请求并获取结果即可。
var http = require('http');
http.get('http://bot.whatismyipaddress.com', function(res){
res.setEncoding('utf8');
res.on('data', function(chunk){
console.log(chunk);
});
});发布于 2014-10-21 10:42:19
var ip = (req.headers && req.headers['x-forwarded-for'])
|| req.ip
|| req._remoteAddress
|| (req.connection && req.connection.remoteAddress);发布于 2020-11-12 01:08:00
下一行应该足够了
let ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress || req.socket.remoteAddress;如果您在本地测试,您将看到私有IP,但如果您在云上测试,您将收到的IP是公共IP。
您可以使用ngrok在本地测试它
https://stackoverflow.com/questions/26477206
复制相似问题