`
dreamoftch
  • 浏览: 501326 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

根据HttpServletRequest取得ip

阅读更多
public static 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.getHeader("Cdn-Src-Ip");
		}
		if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
			ip = request.getRemoteAddr();
		}
		return ip;
	}


如果是要获得本机的IP的话可以通过:

InetAddress.getLocalHost().toString()获得

 

 

public String getClientIP(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=ip.split(",")[0].trim();
			}
		}
		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;       
	}

 

分享到:
评论

相关推荐

    JSP实例编程100例

    41、HttpServletRequest 接口所提供的方法 42、 网上测验 43、HttpSession - session 对象 44、 多选型列表框 45、解决浏览器 cache 的问题 46、使用 EL、JSTL 处理表单数据 47、 EL隐含对象 param、paramValues 48...

    JAP编程学习100例

    41、HttpServletRequest 接口所提供的方法 42、 网上测验 43、HttpSession - session 对象 44、 多选型列表框 45、解决浏览器 cache 的问题 46、使用 EL、JSTL 处理表单数据 47、 EL隐含对象 param、paramValues 48...

    JSP语法之隐式对象详解

    此外,`request`对象还提供了其他方法,例如`getRemoteAddr()`用于获取客户端的IP地址,`getRequestURI()`用于获取请求的URI等。 ##### 6.2.2 `response`对象 `response`对象用于处理JSP生成的响应,即将数据发送...

    梁建武之第五章 JSP内置对象

    - `getAttribute(String name)`:根据name获取属性值,若不存在则返回null。 - `removeAttribute(String name)`:移除名为name的属性。 2. **请求参数操作** - `getParameter(String name)`:获取名为name的参数...

    java JSP Servlet试题 带答案

    一个 TCP/IP 连接 B.一个物理连接 C.客户机和 Web 服务器之间的一组交互 D. Http 请求 - **正确答案**: C. 客户机和 Web 服务器之间的一组交互 - **解析**: 会话是指客户机和 Web 服务器之间的交互过程,它可能...

Global site tag (gtag.js) - Google Analytics