所以javascript可以通过ajax技术来获得后端语言得到的IP,并返回到前端。
1:通过java的servlet获取IP:
public String getRemoteAddress(HttpServletRequest request) {
String ip = requestgetHeader("x-forwarded-for");
if (ip == null || iplength() == 0 || ipequalsIgnoreCase("unknown")) {
ip = requestgetRemoteAddr();
}
return ip;
}
如果是用反向代理技术的话requestgetHeader("x-forwarded-for");会有值,
一般情况下,只要requestgetRemoteAddr();就可以了。
2:获取MAC:
public String getMACAddress(String ip) {
String str = "";
String macAddress = "";
try {
Process p = RuntimegetRuntime()exec("nbtstat -a " + ip);
InputStreamReader ir = new InputStreamReader(pgetInputStream());
LineNumberReader input = new LineNumberReader(ir);
for (int i = 1; i < 100; i++) {
str = inputreadLine();
if (str != null) {
//if (strindexOf("MAC Address") > 1) {
if (strindexOf("MAC") > 1) {
macAddress = strsubstring(
strindexOf("=") + 2, strlength());
break;
}
}
}
} catch (IOException e) {
eprintStackTrace(Systemout);
}
return macAddress;
}
通过命令nbtstat -a ip来获得该ip相对应的mac地址。
以上就是关于java的servlet 不通过request能获取到服务器IP与提供的端口号吗。全部的内容,包括:java的servlet 不通过request能获取到服务器IP与提供的端口号吗。、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)