获取客户端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;
}