如何在 Angular 项目中获取 public IP

how to get public IP in Angular Project

如何在Angular项目中获取publicIP? 是否有任何方法或 URL 从客户端获取 public IP。

下面,我列出了我使用的代码。但我无法订阅该回复。

   this.httpService.get<{ ip: string }> 
     ("http://icanhazip.com/").subscribe(data => {
        console.log(data)
   });

事实上,如果不往返服务器,就无法获取用户的 IP。 这是因为 Angular 项目 运行 完全在浏览器中,甚至可以 运行 在没有任何互联网连接的情况下。 只有服务器才能确定 IP 地址。 解决方案是调用服务器,然后 returns public IP。 您可以使用现有服务(如上所述或此处:)或构建您自己的简单服务器脚本,例如PHP:

{ "ip": "<?php echo $_SERVER['REMOTE_ADDR']; ?>" }

tl;博士: 为此,您需要一个服务器 returns 请求的 IP 地址。