如何从java web应用程序跟踪用户IP地址和Windows登录名

如何从java web应用程序跟踪用户IP地址和Windows登录名,java,ip,web-hosting,Java,Ip,Web Hosting,如何从web应用程序跟踪用户IP地址 我尝试了java中的一些现有方法。但它显示的是服务器的IP地址 InetAddress ip; String hostname; ip = InetAddress.getLocalHost(); hostname=ip.getHostName(); // to get system name ip.getHostAddress() // to get IP address 但是它显示所有登录跟踪的服务器IP。您可以

如何从web应用程序跟踪用户IP地址

我尝试了java中的一些现有方法。但它显示的是服务器的IP地址

    InetAddress ip;
    String hostname;
    ip = InetAddress.getLocalHost();
    hostname=ip.getHostName();  // to get system name
    ip.getHostAddress() // to get IP address

但是它显示所有登录跟踪的服务器IP。

您可以从请求头获取请求IP

 String ipAddress = request.getHeader("X-FORWARDED-FOR");  

 if (ipAddress == null) {  
       ipAddress = request.getRemoteAddr();  
   }

如果您在任何Web服务器上使用您的应用程序,请使用标头获取ipAddress

String ipAddressFrmHed = request.getHeader("X-FORWARDED-FOR") != null ? request.getHeader("X-FORWARDED-FOR") : request.getRemoteAddr();
最好在这里解释你的问题


如何获取系统名称?@DileepKumar String userAgent=request.getHeader(“用户代理”);我尝试了request.getHeader(“用户代理”);但我正在变得像这样——Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.36(KHTML,像Gecko)Chrome/44.0.2403.130 Safari/537。36@DileepKumar“Windows NT 6.1”是Windows。解析字符串。我想要系统登录名(我是指windows登录名)