java的servlet 不通过request能获取到服务器IP与提供的端口号吗。

java的servlet 不通过request能获取到服务器IP与提供的端口号吗。,第1张

所以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实现个ssh协议(网上有现成的开源实现),通过协议远程登录linux。

然后执行 ls 之类的命令,就可以获取了。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » java的servlet 不通过request能获取到服务器IP与提供的端口号吗。

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情