代码之家  ›  专栏  ›  技术社区  ›  VivekRajendran

在不调用外部服务器的情况下获取Internet IP

  •  1
  • VivekRajendran  · 技术社区  · 6 年前

    我正在开发一个android应用程序,需要获得internet ip。是否可以在不调用外部服务器的情况下获取Internet IP?

    如果可能的话,我如何在不发出额外网络请求的情况下获取Internet IP?

    1 回复  |  直到 6 年前
        1
  •  3
  •   Dampen59    6 年前

    如果不向外部服务器发出请求,您可能无法获取公共IP地址,因为您的设备位于LAN中,它不关心路由器到Internet的公共IP地址,因为它不需要它!

    我建议您使用如下Web服务 http://checkip.amazonaws.com/ 以满足你的需要。

        URL getIP = new URL("http://checkip.amazonaws.com/");
        BufferedReader getIPReader = new BufferedReader(new InputStreamReader(getIP.openStream()));
    
        System.out.println(getIPReader.readLine()); // prints the IP