【发布时间】:2010-12-27 00:46:37
【问题描述】:
有什么方法可以在不使用外部进程的情况下找出系统 IP 地址? 我想为我的应用程序获取此信息,但如果可能,请使用纯 Java。
【问题讨论】:
-
您是要在 Web 应用程序还是桌面应用程序中查找?
有什么方法可以在不使用外部进程的情况下找出系统 IP 地址? 我想为我的应用程序获取此信息,但如果可能,请使用纯 Java。
【问题讨论】:
这是否满足您的需求?
import java.net.*;
import java.io.*;
import java.applet.*;
public class GetClientIP extends Applet {
public void init() {
try {
InetAddress thisIp =
InetAddress.getLocalHost();
System.out.println("IP:"+thisIp.getHostAddress());
}
catch(Exception e) {
e.printStackTrace();
}
}
}
【讨论】:
extends Applet 会发生什么?
InetAddress.getLocalHost().getHostAddress() 调用并不总是有效;有时它会返回 127.0.0.1。
有关更多详细信息和其他选项,请参阅java InetAddress.getLocalHost(); returns 127.0.0.1 ... how to get REAL IP?。
【讨论】:
【讨论】:
您好,可以使用 InetAddres 类。检查此链接JAVA API,您需要的方法是 getHostAddress()
【讨论】:
考虑使用NetworkInterface 类。
【讨论】:
如果你想在java应用中查找ip地址
InetAddress localIP=InetAddress.getLocalHost();
如果您使用的是网络应用程序
request.getRemoteAddr();
【讨论】: