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

发布时间 - 2026-01-11 02:06:20    点击率:

本文实例为大家分享了java根据本地IP获取mac地址的具体代码,供大家参考,具体内容如下

import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;

public class MacAddress {

 /**
 * @param args
 * @throws UnknownHostException 
 * @throws SocketException 
 */
 public static void main(String[] args) throws UnknownHostException, SocketException {

 InetAddress ia = InetAddress.getLocalHost();
 System.out.println(ia);
 getLocalMac(ia);
 }
 private static void getLocalMac(InetAddress ia) throws SocketException {
 // TODO Auto-generated method stub
 //获取网卡,获取地址
 byte[] mac = NetworkInterface.getByInetAddress(ia).getHardwareAddress();
 
 System.out.println("mac数组长度:"+mac.length);
 StringBuffer sb = new StringBuffer("");
 for(int i=0; i<mac.length; i++) {
  if(i!=0) {
  sb.append("-");
  }
  //字节转换为整数
  int temp = mac[i]&0xff;
  String str = Integer.toHexString(temp);
  System.out.println("每8位:"+str);
  if(str.length()==1) {
  sb.append("0"+str);
  }else {
  sb.append(str);
  }
 }
 System.out.println("本机MAC地址:"+sb.toString().toUpperCase());
 }
}

下面这个方法是获取客户端请求地址

public String getClientIp(HttpServletRequest request) {
 String ip = request.getHeader("x-forwarded-for");
 if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
  ip = request.getHeader("Proxy-Client-IP");

 }

 if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {

  ip = request.getHeader("WL-Proxy-Client-IP");

 }

 if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {

  ip = request.getRemoteAddr();

 }
 if(ip.trim().contains(",")){
  String [] ips=ip.split(",");
  ip=ips[0];
 }
 return ip;
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# java  # IP  # mac  # JAVA获取本地MAC地址的方法  # JAVA如何获取客户端IP地址和MAC地址  # java 获取用户的MAC地址多种方法实例详解  # java 获取mac地址的两种方法(推荐)  # Java 获取本机的IP与MAC地址实现详解  # java编程实现获取服务器IP地址及MAC地址的方法  # Java编程实现遍历两个MAC地址之间所有MAC的方法  # java实现获取用户的MAC地址  # Java获取mac地址的方法  # java通过ip获取客户端Mac地址的小例子  # 详解Java如何跨平台获取MAC地址  # 本机  # 大家分享  # 转换为  # 具体内容  # 大家多多  # 客户端  # main  # void  # ia  # String  # throws  # args  # param  # static  # Auto  # TODO  # method  # generated  # private  # System 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Swift中switch语句区间和元组模式匹配  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  Python图片处理进阶教程_Pillow滤镜与图像增强  如何用wdcp快速搭建高效网站?  nginx修改上传文件大小限制的方法  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  Java解压缩zip - 解压缩多个文件或文件夹实例  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  图册素材网站设计制作软件,图册的导出方式有几种?  如何正确选择百度移动适配建站域名?  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  详解CentOS6.5 安装 MySQL5.1.71的方法  如何用搬瓦工VPS快速搭建个人网站?  C#如何调用原生C++ COM对象详解  网站制作价目表怎么做,珍爱网婚介费用多少?  EditPlus中的正则表达式实战(6)  高性价比服务器租赁——企业级配置与24小时运维服务  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  Linux系统运维自动化项目教程_Ansible批量管理实战  Laravel如何为API编写文档_Laravel API文档生成与维护方法  Bootstrap整体框架之CSS12栅格系统  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  手机软键盘弹出时影响布局的解决方法  Laravel如何实现API资源集合?(Resource Collection教程)  如何在建站主机中优化服务器配置?  如何在万网利用已有域名快速建站?  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  如何快速生成可下载的建站源码工具?  重庆市网站制作公司,重庆招聘网站哪个好?  利用JavaScript实现拖拽改变元素大小  Laravel如何创建自定义Artisan命令?(代码示例)  独立制作一个网站多少钱,建立网站需要花多少钱?  Python进程池调度策略_任务分发说明【指导】  网站建设整体流程解析,建站其实很容易!  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  *服务器网站为何频现安全漏洞?  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  如何用虚拟主机快速搭建网站?详细步骤解析  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  JavaScript模板引擎Template.js使用详解  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  js代码实现下拉菜单【推荐】  三星、SK海力士获美批准:可向中国出口芯片制造设备  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  JavaScript如何实现继承_有哪些常用方法  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  如何在万网ECS上快速搭建专属网站?