使用打字稿获取Angular中的IPv4地址

问题描述

我正在寻找一种在Angular 7或更高版本中获取IPv4地址的方法。我需要通过本地IP地址来标识已在浏览器中打开应用程序的用户,因为公共IP通常对于一个公司中的所有用户都是相同的。

我在link等地方尝试了此示例,但到目前为止没有成功。你对我有什么想法吗?可能吗?

谢谢!

解决方法

您不能仅使用ng来做到这一点。您需要访问已加载页面angular的请求对象。为此,您需要编写一些服务器代码。

如果您使用的是node.js,请尝试使用geoip-lite,然后编写一个使用x-forwarded-for标头的GET端点,而后备通过req.connection.remoteAddress.split(":")[3]使用请求者的ip

然后您可以通过以下方式将结果返回给ng应用

const ip = xForwadedFor || remoteIP;
const geo = geoip.lookup(ip);

然后,您需要通过ng的http服务使用GET端点的结果。