• IPUtils


    package com.cc.hkjc.util;

    import java.net.InetAddress;
    import java.net.UnknownHostException;

    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    public class IPUtils {
        //到客户端查询用户的ip地址
        public static String getIp(HttpServletRequest request, HttpServletResponse response) {   
             String ipAddress = null;   
             //ipAddress = this.getRequest().getRemoteAddr();   
             ipAddress = request.getHeader("x-forwarded-for");   
             if(ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {   
              ipAddress =request.getHeader("Proxy-Client-IP");   
             }   
             if(ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {   
                 ipAddress = request.getHeader("WL-Proxy-Client-IP");   
             }   
             if(ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {   
              ipAddress = request.getRemoteAddr();   
              if(ipAddress.equals("127.0.0.1")){   
               //根据网卡取本机配置的IP   
               InetAddress inet=null;   
            try {   
             inet = InetAddress.getLocalHost();   
            } catch (UnknownHostException e) {   
             e.printStackTrace();   
            }   
            ipAddress= inet.getHostAddress();   
              }   
                    
             }   
          
             //对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割   
             if(ipAddress!=null && ipAddress.length()>15){ //"***.***.***.***".length() = 15   
                 if(ipAddress.indexOf(",")>0){   
                     ipAddress = ipAddress.substring(0,ipAddress.indexOf(","));   
                 }   
             }   
             return ipAddress;    
          }
    }

  • 相关阅读:
    Countly在andoid和vps集成使用,开源的统计分析sdk
    简单dp-poj-2231-Moo Volume
    Head First设计模式-观察者模式
    D3D游戏编程系列(六):自己动手编写第一人称射击游戏之第一人称视角的构建
    面试之BI-SQL--table转换[2]
    oracle表数据误删还原
    SQL Server 2008数据库创建,备份,还原图解及注意点
    SHH入门:Spring框架简介
    基于总变差模型的纹理图像中图像主结构的提取方法。
    windows程序员进阶系列:《软件调试》之堆 (一)
  • 原文地址:https://www.cnblogs.com/strive-study/p/5161754.html
Copyright © 2020-2023  润新知