日期:2014-05-17  浏览次数:20824 次

java获取局域网ip
若用request.getRemoteAddr(),得到的是公网的ip;

若用getLocalAddr(),得到的是我网站的网址;

要怎样,才可以获取客户端内访问机器的局域网ip;

最好自己在公网上试了,在回答,谢谢。...

------解决方案--------------------
从广域网是无法直接获得诸如192.168.xxx.xxx此类局域网IP地址的。

1.在广域网的服务器上想要获得客户端局域网的IP地址,只能做类似于linux的traceroute命令那样的对包进行跟踪,不过,这样做的速度是非常慢的,途经路尤器多的,超出HTTP服务的timeout也不奇怪。


2.还有一种折衷的方法,就是在客户端程序上提取IP地址,然后通过Http的FORM传给服务器。
客户端程序可以是JavaScript或者其他手机程序都可以。