『壹』 jsP留言板怎樣獲得留言者的IP地址
/**
* 獲得客戶端真實IP地址
*
* @param request
* @return
*/
public static String getIpAddr(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if (!StringUtil.isNotNull(ip) || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (!StringUtil.isNotNull(ip) || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (!StringUtil.isNotNull(ip) || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}
『貳』 jsp中怎麼獲得伺服器ip和服務埠,在線等
/** *構造函數. */ privateInternetProtocol(){ } /** *獲取客戶端IP地址.<br> *支持多級反向代理 * *@paramrequest *HttpServletRequest *@return客戶端真實IP地址 */ (){ try{ StringremoteAddr=request.getHeader("X-Forwarded-For"); //如果通過多級反向代理,X-Forwarded-For的值不止一個,而是一串用逗號分隔的IP值,此時取X-Forwarded-For中第一個非unknown的有效IP字元串 if(isEffective(remoteAddr)&&(remoteAddr.indexOf(",")>-1)){ String[]array=remoteAddr.split(","); for(Stringelement:array){ if(isEffective(element)){ remoteAddr=element; break; } } } if(!isEffective(remoteAddr)){ remoteAddr=request.getHeader("X-Real-IP"); } if(!isEffective(remoteAddr)){ remoteAddr=request.getRemoteAddr(); } returnremoteAddr; }catch(Exceptione){ log.error("getromoteiperror,errormessage:"+e.getMessage()); return""; } } /** *獲取客戶端源埠 *@paramrequest *@return */ publicstaticLonggetRemotePort(){ try{ Stringport=request.getHeader("remote-port"); if(StringUtil.isNotEmptyString(port)){ try{ returnLong.parseLong(port); }catch(NumberFormatExceptionex){ log.error("convertporttolongerror,port: "+port); return0l; } }else{ return0l; } }catch(Exceptione){ log.error("getromoteporterror,errormessage:"+e.getMessage()); return0l; } }