【问题标题】:How can i check System IP Address/Host Name in Java?如何在 Java 中检查系统 IP 地址/主机名?
【发布时间】:2010-12-27 00:46:37
【问题描述】:

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

【问题讨论】:

  • 您是要在 Web 应用程序还是桌面应用程序中查找?

标签: java sockets ip hostname


【解决方案1】:

这是否满足您的需求?

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();
     }
    }
}

【讨论】:

  • 为什么是小程序示例?从 Google 快速复制粘贴?
  • @BalusC - 为什么不是小程序?如果它是复制/粘贴有什么区别?这不是一个需要编写自定义代码的异常请求。该示例演示了 OP 是否希望制作小程序、类或其他任何东西的概念。
  • 小程序是完全无关的。如果删除 extends Applet 会发生什么?
  • @GregS - 是的,可以删除 import java.applet.*;并扩展小程序。它也可以。它没有区别,也不会影响功能。
【解决方案2】:

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

有关更多详细信息和其他选项,请参阅java InetAddress.getLocalHost(); returns 127.0.0.1 ... how to get REAL IP?

【讨论】:

    【解决方案3】:

    【讨论】:

    • 是的!一个指向 Java 1.4 的链接,它是 EOLifed ;)
    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

      考虑使用NetworkInterface 类。

      【讨论】:

        【解决方案6】:

        如果你想在java应用中查找ip地址

         InetAddress localIP=InetAddress.getLocalHost();
        

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

          request.getRemoteAddr();
        

        【讨论】:

          猜你喜欢
          • 2013-02-21
          • 2020-03-27
          • 2011-03-23
          • 2012-04-14
          • 1970-01-01
          • 2015-06-06
          • 2012-04-12
          • 2014-12-19
          • 2014-12-02
          相关资源
          最近更新 更多