我最近启动了一款与 Firebase 身份验证和数据库配合使用的聊天应用程序,现在出于安全原因,我想将他们的 IP 保存在数据库上...而不是他们的本地 IP(192.168...),我想保存他们的外部IP(91.22.168)。 ...)。我也会将其添加到 GDPR 中,但我不知道其代码。有简短的 Java 源代码吗?像“android.os....”代码?我还尝试了其他一些代码,但效果不佳。我很欣赏你的回答:)
2 回答

海绵宝宝撒
TA贡献1809条经验 获得超8个赞
有简短的 Java 源代码吗?
不。
像“android.os....”代码?
不。设备不一定知道其外部 IP 地址,就像台式机或笔记本电脑不一定知道其外部 IP 地址一样。
向您的 Web 服务发出请求,并让您的 Web 服务记下该请求来自哪个 IP 地址。

达令说
TA贡献1821条经验 获得超6个赞
如果您使用的是套接字,您可以这样做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);
添加回答
举报
0/150
提交
取消