我最近啟動了一款與 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
提交
取消