最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java 獲取本機(jī)的IP與MAC地址實(shí)現(xiàn)詳解

 更新時(shí)間:2016年09月23日 14:31:41   作者:Lekko.Li  
這篇文章主要介紹了Java 獲取本機(jī)的IP與MAC地址實(shí)現(xiàn)詳解的相關(guān)資料,需要的朋友可以參考下

 Java 獲取本機(jī)的IP與MAC地址

有些機(jī)器有許多虛擬的網(wǎng)卡,獲取IP地址時(shí)會(huì)出現(xiàn)一些意外,所以需要一些驗(yàn)證:

// 獲取mac地址
  public static String getMacAddress() {
    try {
      Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces();
      byte[] mac = null;
      while (allNetInterfaces.hasMoreElements()) {
        NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement();
        if (netInterface.isLoopback() || netInterface.isVirtual() || !netInterface.isUp()) {
          continue;
        } else {
          mac = netInterface.getHardwareAddress();
          if (mac != null) {
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < mac.length; i++) {
              sb.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : ""));
            }
            if (sb.length() > 0) {
              return sb.toString();
            }
          }
        }
      }
    } catch (Exception e) {
      _logger.error("MAC地址獲取失敗", e);
    }
    return "";
  }

  // 獲取ip地址
  public static String getIpAddress() {
    try {
      Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces();
      InetAddress ip = null;
      while (allNetInterfaces.hasMoreElements()) {
        NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement();
        if (netInterface.isLoopback() || netInterface.isVirtual() || !netInterface.isUp()) {
          continue;
        } else {
          Enumeration<InetAddress> addresses = netInterface.getInetAddresses();
          while (addresses.hasMoreElements()) {
            ip = addresses.nextElement();
            if (ip != null && ip instanceof Inet4Address) {
              return ip.getHostAddress();
            }
          }
        }
      }
    } catch (Exception e) {
      _logger.error("IP地址獲取失敗", e);
    }
    return "";
  }

  以上的代碼中

netInterface.isLoopback() || netInterface.isVirtual() || !netInterface.isUp()

    能很好地把一些非物理網(wǎng)卡或無(wú)用網(wǎng)上過(guò)濾掉,然后再取網(wǎng)上的IPV4地址即可。

     說(shuō)到這里,還有一些常用的:

    1、獲取當(dāng)前機(jī)器的操作系統(tǒng)

 public final static String WIN_OS = "WINDOWS";
  public final static String MAC_OS = "MAC";
  public final static String LINUX_OS = "LINUX";
  public final static String OTHER_OS = "OTHER";

  public static String getOS() {
    if (SystemUtils.IS_OS_WINDOWS){
      return WIN_OS;
    }
    if (SystemUtils.IS_OS_MAC || SystemUtils.IS_OS_MAC_OSX){
      return MAC_OS;
    }
    if (SystemUtils.IS_OS_UNIX){
      return LINUX_OS;
    }
    return OTHER_OS;
  }

    2、設(shè)置HTTP訪問(wèn)代理

/**
   * 設(shè)置http代理
   */
  public static void setHttpProxy() {
    Properties prop = System.getProperties();
    // 設(shè)置http訪問(wèn)要使用的代理服務(wù)器的地址
    prop.setProperty("http.proxyHost", HTTP_PROXY_HOST);
    // 設(shè)置http訪問(wèn)要使用的代理服務(wù)器的端口
    prop.setProperty("http.proxyPort", HTTP_PROXY_PORT);
    // 設(shè)置不需要通過(guò)代理服務(wù)器訪問(wèn)的主機(jī),可以使用*通配符,多個(gè)地址用|分隔
    prop.setProperty("http.nonProxyHosts", RemoteConfig.PROXT_FILTER_DOMAIN);
  }
  
  /**
   * 移除http代理
   */
  public static void removeHttpProxy() {
    Properties prop = System.getProperties();
    prop.remove("http.proxyHost");
    prop.remove("http.proxyPort");
    prop.remove("http.nonProxyHosts");
  }

    在應(yīng)用啟動(dòng)時(shí),訪問(wèn)HTTP請(qǐng)求前,設(shè)置好就行。當(dāng)然,http.nonProxyHosts可以不用設(shè)置,表示所有的HTTP請(qǐng)求都走代理。

    至于HTTPS代理,類似可以這樣設(shè)置:

System.setProperty("https.proxyHost", "HTTP_PROXY_HOST");
System.setProperty("https.proxyPort", "HTTP_PROXY_PORT");

以上就是Java 獲取本機(jī)IP和 MAC的實(shí)例,有需要的朋友可以參考下,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • java微信公眾號(hào)開(kāi)發(fā)(搭建本地測(cè)試環(huán)境)

    java微信公眾號(hào)開(kāi)發(fā)(搭建本地測(cè)試環(huán)境)

    這篇文章主要介紹了java微信公眾號(hào)開(kāi)發(fā),主要內(nèi)容有測(cè)試公眾號(hào)與本地測(cè)試環(huán)境搭建,需要的朋友可以參考下
    2015-12-12
  • Spring之關(guān)于PropertyDescriptor的擴(kuò)展剖析

    Spring之關(guān)于PropertyDescriptor的擴(kuò)展剖析

    這篇文章主要介紹了Spring之關(guān)于PropertyDescriptor的擴(kuò)展剖析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 詳解Spring中的AOP及AspectJ五大通知注解

    詳解Spring中的AOP及AspectJ五大通知注解

    這篇文章主要介紹了詳解Spring中的AOP及AspectJ五大通知注解,AOP面向切面編程是一種新的方法論,是對(duì)傳統(tǒng)OOP面向?qū)ο缶幊痰难a(bǔ)充,AOP?的主要編程對(duì)象是切面(aspect),切面模塊化橫切關(guān)注點(diǎn),需要的朋友可以參考下
    2023-08-08
  • Java使用sleep方法暫停線程Thread

    Java使用sleep方法暫停線程Thread

    這篇文章介紹了Java使用sleep方法暫停線程Thread,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • Groovy編程入門(mén)攻略

    Groovy編程入門(mén)攻略

    這篇文章主要介紹了Groovy編程入門(mén)攻略,Groovy是一種同樣使用Java虛擬機(jī)的動(dòng)態(tài)語(yǔ)言,需要的朋友可以參考下
    2015-07-07
  • spring boot simple類型cache使用詳解

    spring boot simple類型cache使用詳解

    這篇文章主要介紹了spring boot simple類型cache使用,這里用的不是 redis 的緩存,simple 的緩存默認(rèn)用的是java的ConcurrentHashMap, 單純的simple緩存,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-10-10
  • Java生成含字母和數(shù)字的6位隨機(jī)字符串

    Java生成含字母和數(shù)字的6位隨機(jī)字符串

    這篇文章主要為大家詳細(xì)介紹了Java生成含字母和數(shù)字的6位隨機(jī)字符串的相關(guān)資料,供大家參考,感興趣的朋友可以參考一下
    2016-05-05
  • IDEA修改生成jar包名字的兩種方法實(shí)現(xiàn)

    IDEA修改生成jar包名字的兩種方法實(shí)現(xiàn)

    本文主要介紹了IDEA修改生成jar包名字的兩種方法實(shí)現(xiàn),通過(guò)簡(jiǎn)單的步驟,您可以修改項(xiàng)目名稱并在打包時(shí)使用新的名稱,具有一定的參考價(jià)值,感興趣的可以了解下
    2023-08-08
  • SpringBoot中的@Import注解四種使用方式詳解

    SpringBoot中的@Import注解四種使用方式詳解

    這篇文章主要介紹了SpringBoot中的@Import注解四種使用方式詳解,@Import注解只可以標(biāo)注在類上,可以結(jié)合 @Configuration注解、ImportSelector、ImportBeanDefinitionRegistrar一起使用,也可以導(dǎo)入普通的類,需要的朋友可以參考下
    2023-12-12
  • Spring-Cloud-Function-Spel?漏洞環(huán)境搭建

    Spring-Cloud-Function-Spel?漏洞環(huán)境搭建

    這篇文章主要介紹了Spring-Cloud-Function-Spel?漏洞復(fù)現(xiàn)及搭建方法,搭建方法也很簡(jiǎn)單,首先需要安裝maven jdk,具體安裝過(guò)程跟隨小編一起看看吧
    2022-03-03

最新評(píng)論

六枝特区| 平塘县| 凉城县| 兴安县| 洪湖市| 三门峡市| 包头市| 两当县| 鄂州市| 怀来县| 泰安市| 屏东县| 偃师市| 轮台县| 枣强县| 正蓝旗| 嘉定区| 宜黄县| 婺源县| 广昌县| 古田县| 新余市| 漳州市| 县级市| 盐池县| 澄城县| 丹棱县| 南安市| 蕉岭县| 惠安县| 藁城市| 长武县| 威海市| 台前县| 漠河县| 江华| 宝山区| 石嘴山市| 灵川县| 太仆寺旗| 泸西县|