1

有没有办法在不使用外部进程的情况下找出系统 IP 地址?我想为我的应用程序获取此信息,但如果可能的话,请使用纯 Java。

4

6 回答 6

3

这是否满足您的需求?

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();
     }
    }
}
于 2010-12-27T00:51:08.453 回答
1

InetAddress.getLocalHost().getHostAddress() 调用并不总是有效;有时它会返回 127.0.0.1。

参见java InetAddress.getLocalHost(); 返回 127.0.0.1 ...如何获得真实 IP?有关更多详细信息和其他选项。

于 2011-09-07T12:41:22.587 回答
0

如果您想在 java 应用程序中查找 IP 地址

 InetAddress localIP=InetAddress.getLocalHost();

如果您使用的是网络应用程序

  request.getRemoteAddr();
于 2010-12-27T00:51:21.623 回答
0

看看 InetAddress http://download.oracle.com/javase/1.4.2/docs/api/java/net/InetAddress.html

于 2010-12-27T00:51:52.423 回答
0

嗨,是的,它可以使用 InetAddres 类。检查此链接JAVA API,您需要的方法是 getHostAddress()

于 2010-12-27T00:52:15.233 回答
0

考虑使用NetworkInterface类。

于 2010-12-27T00:53:00.233 回答