zoukankan      html  css  js  c++  java
  • 获取对方请求的访问ip地址

    (很实用,哈哈)直接上代码

    import javax.servlet.http.HttpServletRequest;
    
    /**
     * http工具类
     */
    public class HttpUtil {
    	
    	private HttpUtil(){
        	
        }
    	
    	/**
    	 * 请求成功码
    	 */
    	public static final String successCode = "200";
    	/**
    	 * 用户新建或修改数据成功
    	 */
    	public static final String saveOrUpdate = "201";
    	/**
    	 * 请求失败码
    	 */
    	public static final String failCode = "500";
    	/**
    	 * 重新登陆码
    	 */
    	public static final String re_loginCode = "100";
    	/**
    	 * 没有权限
    	 */
    	public static final String unauth = "301";
    
    	/**
    	 * 验证码为空
    	 */
    	public static final String CodeNull = "302";
    
    
    	/**
    	 * 账号不存在
    	 */
    	public static final String NoUser = "304"	;
    
    
    	/**
    	 * 密码错误
    	 */
    	public static final String PasswordErro = "305"	;
    
    
    	/**
    	 * 验证码错误
    	 */
    	public static final String CodeErro = "306"	;
    
    	/**
    	 * 无效Token
    	 */
    	public static final String NoToken = "307"	;
    	
    	/**
    	 * Token格式错误
    	 */
    	public static final String TokenErr = "308"	;
    	
    	/**
    	 * 获取ip地址
    	 * @param request
    	 * @return
    	 */
    	public static String getIpAddress(HttpServletRequest request) {
    		String ip = request.getHeader("x-forwarded-for");
    //		String ip = request.getHeader("Proxy-Client-IP");//处理IP
    		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("HTTP_CLIENT_IP");
    		}
    		if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
    			ip = request.getHeader("HTTP_X_FORWARDED_FOR");
    		}
    		if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
    			ip = request.getRemoteAddr();
    		}
    		
    		if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
    	        //X-Real-IP:nginx服务代理 
    			ip = request.getHeader("X-Real-IP");
    	    }
    		if(ip!=null){
    			ip=ip.split(",")[0];
    //			if(ip.indexOf(",")>0){
    //				ip=ip.substring(0,ip.indexOf(","));
    //			}
    		}
     		return ip;
    	}
    	public static void main(String[] args) {
    		String ip="127.0.0.1,127.1.1.1";
    		ip=ip.split(",")[0];
    		System.out.println(ip);
    	}
    }
    
    
    	
    

      

  • 相关阅读:
    OpenSeadragon 基础显示图片 学习记录 (一)
    数组篇【第一集】
    css如何让页面上的文字不能选中??
    toggleClass()原来是这么用的
    vue-gemini-scrollbar(vue组件-自定义滚动条)
    css绝对底部的实现方法
    Select下拉框需求
    iview之Model对话框封装
    Java基础(一)
    vue-draggable-resizable插件的API记录
  • 原文地址:https://www.cnblogs.com/otways/p/11431352.html
Copyright © 2011-2022 走看看