• 获取对方请求的访问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);
    	}
    }
    
    
    	
    

      

  • 相关阅读:
    程序性能优化1
    在archlinux上搭建twitter storm cluster
    .Net 跨平台可移植类库PCL可用于任何平台包括Mono
    .NET面向对象特性之封装
    哈夫曼(Huffman)编码
    高质量视频学习网站
    (Java实现) 洛谷 P1042 乒乓球
    (Java实现) 洛谷 P1042 乒乓球
    (Java实现) 洛谷 P1071 潜伏者
    (Java实现) 洛谷 P1071 潜伏者
  • 原文地址:https://www.cnblogs.com/otways/p/11431352.html
Copyright © 2020-2023  润新知