【问题标题】:how to get public IP in Angular Project如何在 Angular 项目中获取公共 IP
【发布时间】:2019-12-22 17:41:32
【问题描述】:

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

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

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

【问题讨论】:

    标签: angular http ip angular-httpclient


    【解决方案1】:

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

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

    tl;博士: 为此,您需要一个服务器,它会根据请求返回 IP 地址。

    【讨论】:

    • 我需要一个开源 api
    • 那么很容易按照我提到的方式构建一个。您需要一个带有 PHP 和一个小脚本的简单 Web 服务器。
    • 我应该在 PHP 服务器中创建一个 API
    猜你喜欢
    • 1970-01-01
    • 2012-05-08
    • 2012-03-17
    • 2017-06-14
    • 1970-01-01
    • 2018-01-20
    • 2017-09-23
    • 1970-01-01
    • 2016-02-21
    相关资源
    最近更新 更多