日期:2014-05-18  浏览次数:20620 次

如何获取用户登陆的IP?
如题....
自己写了一个方法,测试在其他机子上登陆,结果获得的IP竟然却是自己本机(web部署pc)上的IP?
不知我下面的代码哪里错了,请指教...
public   String   getIp(){
        log.info( "获取IP地址! ");
        String   ip=null;
        try{
                String   info=InetAddress.getLocalHost().toString();
                int   n=info.lastIndexOf( "/ ");
                ip=info.substring(n+1);
                }catch(Exception   e){
                log.info(e.getStackTrace());
                }
                System.out.println( "-----------   "+ip);
                return   ip;
        }

------解决方案--------------------
String ip = " ";
ip = request.getRemoteAddr();
------解决方案--------------------
request.getRemoteAddr();
------解决方案--------------------
request.getRemoteAddr();

开玩笑啦,我写着玩的,不要给我分了,给上面两位吧
------解决方案--------------------
ip = request.getRemoteAddr();
------解决方案--------------------
127.0.0.1 代表本地地址
------解决方案--------------------
InetAddress.getLocalHost()运行此程序的机器ip,就是服务器了
------解决方案--------------------
InetAddress.getLocalHost() 这肯定获取的是本机IP
request对象中包含有用户IP,客户端的信息都在这里面
------解决方案--------------------
ding si ni