如何使用Java获取本机客户端(浏览器)的MAC地址
导读:在实际案例的操作过程中,我们可能会遇到“如何使用Java获取本机客户端(浏览器 的MAC地址”这样的问题,那么我们该如何处理和解决这样的情况呢?这篇小编就给大家总结了一些方法,具有一定的借鉴价值,希望对大家有所帮助,接下来就让小编带领大家一...
在实际案例的操作过程中,我们可能会遇到“如何使用Java获取本机客户端(浏览器)的MAC地址”这样的问题,那么我们该如何处理和解决这样的情况呢?这篇小编就给大家总结了一些方法,具有一定的借鉴价值,希望对大家有所帮助,接下来就让小编带领大家一起了解看看吧。在日常的开发过程中,很多情况我们要回去浏览器的信息,比如MAC地址等,那么今天就来看看在Java中,这么获取客户端(浏览器)的MAC地址,以及IP地址。
1.获取IP方式
public static String getIpAddress(HttpServletRequest request) {
String ip = request.getHeader("X-real-ip");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
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.getHeader("HTTP_CLIENT_IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}
2.通过IP获取Mac地址
static String getMacAddrByIp(String ip) {
String macAddr = null;
try {
Process process = Runtime.getRuntime().exec("nbtstat -a " ip);
BufferedReader br = new BufferedReader(
new InputStreamReader(process.getInputStream()));
Pattern pattern = Pattern.compile("([A-F0-9]{
2}
-){
5}
[A-F0-9]{
2}
");
Matcher matcher;
for (String strLine = br.readLine();
strLine != null;
strLine = br.readLine()) {
matcher = pattern.matcher(strLine);
if (matcher.find()) {
macAddr = matcher.group();
break;
}
}
}
catch (IOException e) {
e.printStackTrace();
}
System.out.println(macAddr);
return macAddr;
}
public static void main(String[] args) {
String ip = "192.168.8.59";
getMacAddrByIp(ip);
}
以上就是关于“如何使用Java获取本机客户端(浏览器)的MAC地址”的介绍了,感谢各位的阅读,希望文本对大家有所帮助。如果想要了解更多知识,欢迎关注网络,小编每天都会为大家更新不同的知识。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何使用Java获取本机客户端(浏览器)的MAC地址
本文地址: https://pptw.com/jishu/654982.html
