zoukankan      html  css  js  c++  java
  • 【04-20】httpclient处理302重定向问题

    
    DefaultRedirectStrategy
    
    
    
    client.setRedirectHandler(new DefaultRedirectHandler() {                  
                        @Override  
                        public boolean isRedirectRequested(HttpResponse response, HttpContext context) {  
                            boolean isRedirect = super.isRedirectRequested(response, context);  
                            if (!isRedirect) {  
                                int responseCode = response.getStatusLine().getStatusCode();  
                                if (responseCode == 301 || responseCode == 302) {  
                                    return true;  
                                }  
                            }  
                            return isRedirect;  
                        }  
                    });  
    
    
    
    
        /**
         * @since 4.2
         */
        protected boolean isRedirectable(final String method) {
            for (final String m: REDIRECT_METHODS) {
                if (m.equalsIgnoreCase(method)) {
                    return true;
                }
            }
            return false;
        }
    
    
    
       /**
         * Redirectable methods.
         */
        private static final String[] REDIRECT_METHODS = new String[] {
            HttpGet.METHOD_NAME,
            HttpHead.METHOD_NAME
        };
    
    http://blog.csdn.net/chszs/article/details/16996489
    
    
    /** 
         * spring中Around通知   
         * @param joinPoint 
         * @return 
         * @throws Throwable  
         */  
        @Around("com.leanyu.lcsystem.pointcut.PointcutsDefinition.inServiceLayer()")     
        public Object checkPermissionAround( ProceedingJoinPoint joinPoint )    
        {  
            try  
            {   
                 Object[] args           = joinPoint.getArgs();  
                 AbstractRequest request =  (AbstractRequest)args[0];  
                 int userId          = request.getUserId();  
                 String password     = request.getPassword();  
                 Signature signature = joinPoint.getSignature();  
                 String service      = signature.getDeclaringTypeName();  
                 String method       = signature.getName();  
                               
                 if ( checkPermission.hasServicePermission(userId, service , method , password) )  
                 {  
                     Object result = joinPoint.proceed( args );    
                     return result;  
                 }  
                   
             }catch(Throwable e)  
             {  
                 logger.error(e.toString(), e);  
             }  
             return null;  
        }  
    
    
    
  • 相关阅读:
    xml基础一
    FileStream
    串口、COM口、RS232、RS485、USB区别
    DotNet知识点五
    DotNet知识点四
    DotNet知识点三
    DotNet知识点二
    day02 关键字、添加注释、标识符、常量、变量、变量的定义、变量定义注意事项、转义字符
    day01
    22_Map集合(重点)
  • 原文地址:https://www.cnblogs.com/achievec/p/6741614.html
Copyright © 2011-2022 走看看