public class iputil {
public static string getipaddr(httpservletrequest request) {
string ip = request.getheader(x-real-ip);
if (ip == null || ip.length() == 0 || unknown.equalsignorecase(ip)) {
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();
}
//防止多级代理时返回过个ip。
if(ip != null && ip.indexof(,) != -1){
ip= ip.substring(0,ip.indexof(,));
}
return ip;
}
}
