есть ли способ узнать системный 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(); } } }
InetAddress.getLocalHost (). GetHostAddress () вызов не всегда работает; иногда возвращает 127.0.0.1.
См. java InetAddress.getLocalHost (); возвращает 127.0.0.1 ... как получить РЕАЛЬНЫЙ IP? для получения более подробной информации и других опций.
Рассмотрите возможность использования NetworkInterface класса.
Привет, да, это возможно с классом InetAddres. Проверьте эту ссылку JAVA API , и вам нужен метод getHostAddress ()
Посмотрите на InetAddress http://download.oracle.com/javase/1.4.2/docs/api/java/net/InetAddress.html
Если вы хотите найти IP-адрес в Java-приложении
InetAddress localIP=InetAddress.getLocalHost();
и если вы используете веб-приложение
request.getRemoteAddr();