我最近启动了一个可与Firebase身份验证和数据库配合使用的聊天应用, 现在出于安全原因我要将其IP保存在数据库中 ...而不是其本地IP(192.168 ...),我想保存其外部(91.22。 ...)。我会同时将此内容添加到GDPR中,但我不知道该代码。
是否有简短的Java源代码? 例如“ android.os。...”代码?
我还尝试了其他一些代码,但效果也不佳。
我非常感谢您的回答:)
答案 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);