zoukankan      html  css  js  c++  java
  • 获取客户端IP地址

    /**
      * 获取客户端IP,可以经过一级代理
      * @modify by lingl 2012-06-14
      * @param pd
      * @return
      * @throws Exception
      */
     public static String getIPAddress(PageData pd) throws Exception {
      HttpServletRequest request = pd.getRequest();
      String ip = request.getHeader("x-forwarded-for");
      if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
       ip = request.getHeader("Proxy-Client-IP");
      }
      if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
       ip = request.getHeader("WL-Proxy-Client-IP");
      }
      if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
       ip = request.getRemoteAddr();
      }
      return ip.split(",")[0];
     }
     
     /**
      * 获取客户端IP地址,如果通过代理进来,则透过防火墙获取真实IP地址
      * getClientIP
      *
      * @param pd
      * @return
      * @throws Exception String
      * @Exception
      * @author:lingl@asiainfo-linkage.com
      * @2012-7-20 上午11:06:14
      * @update:
      * @2012-7-20 上午11:06:14
      */
     public static String getClientIP(PageData pd) throws Exception  {
      HttpServletRequest request = pd.getRequest();
      String strClientIp = request.getHeader("x-forwarded-for");
      log.debug("=======All the IP address string is: " + strClientIp);
      if(strClientIp == null || strClientIp.length() == 0 ||"unknown".equalsIgnoreCase(strClientIp)){ 
       strClientIp = request.getRemoteAddr();
      }else{
       String[] ipList  = strClientIp.split(",");
       String strIp = new String();
       for(int index = 0; index < ipList.length; index ++){
        strIp = (String)ipList[index];
        if(!("unknown".equalsIgnoreCase(strIp))){
         strClientIp = strIp;
         break;
        }
       }
      }
      return strClientIp;
     }

    /**
      * 获取客户端IP地址,如果通过代理进来,则透过防火墙获取真实IP地址
      * getClientIP
      *
      * @param pd
      * @return
      * @throws Exception String
      * @Exception
      * @author:lingl@asiainfo-linkage.com
      * @2012-7-20 上午11:06:14
      * @update:
      * @2012-7-20 上午11:06:14
      */
     public static String getClientIP(PageData pd) throws Exception  {
      HttpServletRequest request = pd.getRequest();
      String strClientIp = request.getHeader("x-forwarded-for");
      log.debug("=======All the IP address string is: " + strClientIp);
      if(strClientIp == null || strClientIp.length() == 0 ||"unknown".equalsIgnoreCase(strClientIp)){ 
       strClientIp = request.getRemoteAddr();
      }else{
       String[] ipList  = strClientIp.split(",");
       String strIp = new String();
       for(int index = 0; index < ipList.length; index ++){
        strIp = (String)ipList[index];
        if(!("unknown".equalsIgnoreCase(strIp))){
         strClientIp = strIp;
         break;
        }
       }
      }
      return strClientIp;
     }

  • 相关阅读:
    闭区间上的连续函数必定是一致连续的
    利用开区间覆盖的约简给出$\bf{Lindelöf}$覆盖定理的一个新证明
    $\mathbf{R}^n$中的紧集是闭有界集
    $\mathbf{R}^n$中的紧集是闭有界集
    陶哲轩实分析 习题10.2.7 导函数有界的函数一致连续
    $\mathbf{R}$上的离散点集是至多可数集
    利用开区间覆盖的约简给出$\bf{Lindelöf}$覆盖定理的一个新证明
    闭区间上的连续函数必定是一致连续的
    $\mathbf{R}$上的离散点集是至多可数集
    利用开区间覆盖的约简给出有限覆盖定理的一个新证明
  • 原文地址:https://www.cnblogs.com/bassd/p/2848791.html
Copyright © 2011-2022 走看看