如何获得外部IP地址?

时间:2019-09-08 17:36:07

标签: java android

我最近启动了一个可与Firebase身份验证和数据库配合使用的聊天应用, 现在出于安全原因我要将其IP保存在数据库中 ...而不是其本地IP(192.168 ...),我想保存其外部(91.22。 ...)。我会同时将此内容添加到GDPR中,但我不知道该代码。

是否有简短的Java源代码? 例如“ android.os。...”代码?

我还尝试了其他一些代码,但效果也不佳。

我非常感谢您的回答:)

2 个答案:

答案 0 :(得分:1)

  

是否有简短的Java源代码?

否。

  

类似“ android.os。...”代码?

不。该设备不一定知道其外部IP地址,就像台式机或笔记本电脑不一定知道其外部IP地址一样。

发出Web服务请求,并让Web服务记录该请求来自哪个IP地址。

答案 1 :(得分:0)

如果您使用的是套接字,则可以socket.getInetAddress().getHostAddress()

如果要让设备获得其自己的公用IP地址,则可以使用以下方法:

URL whatismyip = new URL("http://checkip.amazonaws.com");
BufferedReader in = new BufferedReader(new InputStreamReader(whatismyip.openStream()));
String ip = in.readLine(); //IP as a string
System.out.println(ip);