通过此方法将request传入,即可获取到远端登陆客户端主机的网络IP地址:
public String getIpAddr(HttpServletRequest request) {
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();
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("http_client_ip");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
}
// 如果是多级代理,那么取第一个ip为客户ip
if (ip != null && ip.indexOf(",") != -1) {
ip = ip.substring(ip.lastIndexOf(",") + 1, ip.length()).trim();
}
return ip;
}
分享到:
相关推荐
这里我们用客户端通过XMLHttpRequest 请求服务端获取当前系统时间,实现异步交互!
XMLHttpRequest.Status多种状态的含义 xmlHttpRequest的status的值的含义 xmlHttpRequest对象的status代表当前http请求的状态,是一个长整型数据,现在介绍一下它的含义。 http请求状态及其含义表 1xx - 信息...
XmlHttpRequest详解XmlHttpRequest详解XmlHttpRequest详解
XMLHttpRequest 提供客户端同http服务器通讯的协议
JS中基于XMLHttpRequest的Get 请求demo,包含2请求方式的源代码,可直接用于项目开发。
全面剖析Ajax XMLHttpRequest对象
XMLHTTPREQUEST对象创建,交互,回调底层代码。。。
在源网页加载之前,实现一个XMLHttpRequest的代理对象,然后覆盖全局的XMLHttpRequest,这样一但上层调用 new XMLHttpRequest这样的代码时,其实创建的是Ajax-hook的代理对象实例
详解Ajax的核心对象XmlHttpRequest
XMLHttpRequest中文参考手册
AJAX(XMLHttpRequest)进行跨域请求方法详解
全面剖析XMLHttpRequest对象 全面剖析XMLHttpRequest对象
ajax工具,XMLHttpRequest调试工具
xmlhttprequest
XMLHttpRequest方法和属性API,介绍了XMLHttpRequest的方法和属性
创建XMLHttpRequest对象的方法.rar创建XMLHttpRequest对象的方法.rar创建XMLHttpRequest对象的方法.rar