`

java 取所以ip方法(转)

    博客分类:
  • java
阅读更多

 import org.apache.commons.httpclient.methods.GetMethod;
 import org.apache.commons.httpclient.HttpClient;
 import org.apache.log4j.Logger;
 import java.net.InetAddress;
 import java.util.Enumeration;
 import java.net.NetworkInterface;
 import java.util.*;


 public class TestGetMacAddr {

   static Logger logger = Logger.getLogger(TestGetMacAddr.class);

   public TestGetMacAddr() {
   }

   /**
    *
    * @param url String
    * @return int
    * @throws Exception
    */
   public static int clickURL(String url) throws Exception {
     int retrycount = 3;
     while (true) {
       HttpClient httpClient = new HttpClient();
       GetMethod get = new GetMethod(url);
       get.addRequestHeader("Content-Type", "text/html; charset=GBK");
       int code = httpClient.executeMethod(get);
       if (code != 200) {
         if (retrycount == 0) {
           throw new Exception("发送失败,失败原因=" + code);
         }
         logger.error("send to[" + url + "]error code[" + code + "]");
         retrycount--;
       }
       else {
         return code;
       }

     } //end while(true)...
   }

   /**
    *
    * @return Collection
    */
   public static Collection getAllLocalIP() throws Exception {
     ArrayList ar = new ArrayList();
     Enumeration netInterfaces = NetworkInterface.getNetworkInterfaces();
     while (netInterfaces.hasMoreElements()) {
       NetworkInterface ni = (NetworkInterface) netInterfaces.nextElement();
       InetAddress ip = (InetAddress) ni.getInetAddresses().nextElement();
       if (!ip.isSiteLocalAddress() && !ip.isLoopbackAddress() &&
           ip.getHostAddress().indexOf(":") == -1) {
         System.out.println("Interface " + ni.getName() +
                            " seems to be InternetInterface. I'll take it..."); ;
       }
       else {
         ar.add(ip.getHostAddress());
       }
     }
     return ar;
   }

   public static void main(String[] args) {
     try {
      Collection col = TestGetMacAddr.getAllLocalIP();
      Iterator it = col.iterator();
      while (it.hasNext()){
       System.out.println(it.next());
      }
     }
     catch (Exception ex) {
       ex.printStackTrace();
     }
   }
 }

分享到:
评论

相关推荐

    java获取公网IP

    这个IP地址是动态的,也可能固定不变,取决于ISP的服务类型。要获取这个公网IP,我们可以通过向特定的HTTP服务发起请求,这些服务会返回请求发出的公网IP。 在Java中,我们可以创建一个类来实现这个功能。例如,`...

    java常用ip匹配

    Java作为一种广泛应用的编程语言,在处理IP地址匹配时提供了多种方法与技术,以确保网络通信的安全与高效。本文将围绕“Java常用IP匹配”这一主题,深入探讨IP地址的基本概念、正则表达式在IP匹配中的应用,以及如何...

    java根据ip获取国家、地区名称,附带ip库

    在Java编程中,根据IP地址获取国家和地区名称是一项常见的需求,尤其在网站分析、网络安全或者地理定位服务中。实现这一功能通常需要借助IP数据库或API服务。本篇将详细讲解如何在Java中根据IP地址获取国家和地区...

    java获取客户端ip及mac地址

    // 如果是多个 IP 地址,则取第一个作为真实 IP if (ip != null && ip.indexOf(",") > 0) { ip = ip.split(",")[0]; } return ip; } ``` 在这个方法中,我们首先尝试从 `X-Forwarded-For` 请求头中获取 IP ...

    java拿取本机正在使用的ip及本机mac地址

    在Java编程环境中,获取本机的IP地址和MAC地址是一项常见的需求,特别是在网络通信和设备识别的场景下。本文将详细讲解如何通过Java代码来获取本机正在使用的IP地址(包括IPv4和IPv6)以及MAC地址,并排除虚拟机的IP...

    java实现根据ip地址获取地理位置

    在Java编程中,根据IP地址获取地理位置是一项常见的需求,尤其在大数据分析、用户行为追踪或者安全防护等场景中。本文将介绍如何利用新浪和淘宝的API接口来实现这一功能。 首先,我们来看新浪的接口实现。新浪提供...

    Java取本机IP地址

    非常清楚的介绍了如何使用Java获取本机IP地址,有源码

    Java中获取IP地址,主机名称,网卡地址

    在 Java 中,我们可以使用 InetAddress 类的 getLocalHost() 方法来获取本地主机的 IP 地址。这个方法将返回一个 InetAddress 对象,其中包含了主机的 IP 地址。 ```java InetAddress myIPaddress = InetAddress....

    java中通过request获取IP以及MAC地址.java

    获取用户请求IP地址 根据IP地址获取mac地址

    idea,java获取ip地址

    以下是如何在IntelliJ IDEA中使用Java和Servlet来获取用户IP的方法: 1. **配置Servlet**:首先,在IntelliJ IDEA中创建一个Java Web项目,然后添加Servlet类。继承`javax.servlet.http.HttpServlet`,并在`doGet`...

    IP管理工具-用java编写的

    Java是一种广泛使用的编程语言,以其跨平台性、面向对象和丰富的库支持而闻名,因此选择Java来开发IP管理工具是一个常见的选择。 IPMsg(IP Message)通常指的是IP Messenger,一种用于局域网内通信的应用程序,...

    java根据本地IP获取mac地址的方法

    Java根据本地IP获取MAC地址的方法 Java根据本地IP获取MAC地址的方法是指通过Java语言获取本机或客户端的MAC地址。MAC地址是媒体访问控制地址,是网络设备的唯一标识符。在Java中,可以使用InetAddress和Network...

    java获取客户端IP及IP归属地

    如果用户通过代理服务器访问,`X-Forwarded-For`头可能会有多个IP,这时需要处理好代理链,一般取第一个非代理IP作为客户端真实IP。 3. **获取IP归属地** 获取IP归属地通常需要借助第三方的服务或者数据库,比如...

    Java 自动获取本机IP、MAC地址

    这个IP地址可能是IPv4或IPv6格式,具体取决于系统的配置。 3. **获取MAC地址**:在Java中,直接获取MAC(物理)地址相对复杂,因为这涉及到操作系统级别的硬件信息。通常,可以通过`java.net.NetworkInterface`类来...

    java版 根据ip得知区域

    以上三种方法各有优缺点,选择哪种取决于具体项目需求,如性能、隐私保护、成本和易用性等因素。在实际应用中,还需要考虑错误处理、缓存策略以及API调用频率限制等问题,以确保服务的稳定性和效率。 总之,要在...

    用Java编程获得本机和服务器IP地址

    要获取本机的IP地址,可以使用`java.net.InetAddress`类的`getLocalHost()`方法。这个方法会返回与本地主机相关的`InetAddress`对象,包含了主机名和IP地址。在给出的代码中,创建了一个名为`NetTool`的类,其中`get...

    java获取ipjava获取ipjava获取ipjava获取ipjava获取ip

    在Java编程中,获取IP...Java获取IP地址的方法多样,具体选择哪种取决于你的应用场景。在实际项目中,还需要考虑IPv4与IPv6的兼容性、网络环境的复杂性等因素。理解这些基础知识对于编写健壮的网络应用程序至关重要。

    java实现ip地址与十进制数相互转换

    在Java编程中,IP地址与十进制数之间的转换是一个常见的需求,特别是在网络...但是,这些方法不直接支持IP地址与十进制数之间的转换,而是依赖于网络解析功能,所以如果只是需要简单的转换,自定义函数更为直接有效。

    java调用大华摄像头

    本篇将深入讲解如何使用Java语言调用大华摄像头,并实现连接与播放功能。 首先,我们要了解大华摄像头提供的API。大华摄像头通常提供SDK(Software Development Kit),其中包括了必要的库文件和文档,帮助开发者...

    java源码包---java 源码 大量 实例

    Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字  Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象...

Global site tag (gtag.js) - Google Analytics