美文网首页
AFNetworking 302 重定向

AFNetworking 302 重定向

作者: FlowYourHeart | 来源:发表于2018-06-20 11:31 被阅读277次

前两天 app突然重复出现获取数据失败的提示(alert),造成了非常差的用户体验,通过网络抓包发现有一个请求状态为302,一番搜索,发现这是重定向(如果不知道就自行查一下),所有的AF请求都会在post get等请求前执行下面这个方法,所以只需重写这个方法就能拦截请求

manager = [AFHTTPSessionManager manager];
[manager setTaskWillPerformHTTPRedirectionBlock:^NSURLRequest * _Nonnull(NSURLSession * _Nonnull session, NSURLSessionTask * _Nonnull task, NSURLResponse * _Nonnull response, NSURLRequest * _Nonnull request) {
            NSHTTPURLResponse *resPonse = (NSHTTPURLResponse *)response;
           //1、如果要忽略重定向
          /*
            if (resPonse.statusCode == 302){
                return nil;
            }else {//正常请求
                return request;
            }
             */
         // 2、通过重定向url去获取数据
            if (resPonse.statusCode == 302){//如果响应code==302 就是重定向
                NSMutableURLRequest *res = [NSMutableURLRequest requestWithURL:request.URL];
              //通过抓包发现请求头不见了 所以在这里添加请求头,如果没有这个需求的可以忽略
                NSMutableDictionary *headers = [NSMutableDictionary dictionaryWithDictionary:request.allHTTPHeaderFields];
                NSString *valueStr = [NSString stringWithFormat:@" %@",localToken];
                [headers setObject:valueStr forKey:@"Authorization"];
                res.allHTTPHeaderFields = headers;

                return res;
            }else {//正常请求
                return request;
            }
}];

个人笔记,勿喷 😄

相关文章

  • AFNetworking 302 重定向

    前两天 app突然重复出现获取数据失败的提示(alert),造成了非常差的用户体验,通过网络抓包发现有一个请求状态...

  • Node服务端响应状态码实现重定向

    302为临时重定向,301为永久重定向

  • 301与302的坑

    首先,这真的很坑 301与302都是重定向代码,不同的是301是永久重定向,而302是临时重定向 在业务上,一般会...

  • day03-node中的模块系统&npm常用命令&

    301 和 302 状态码区别 301 永久重定向,浏览器会记住 302 临时重定向 node中的模块系统: 在n...

  • Web核心day04-Cookie&Session

    一.请求转发和重定向 重定向早期写法: response.setStatus(302); // respon...

  • Spring Boot学习笔记-MVC

    重定向 302重定向 控制器之间跳转 自定义错误页面

  • 永久性重定向和302临时性重定向

    什么是重定向? 所谓重定向就是将网页自动转向重定向,即:301永久性重定向和302临时性重定向。实施301后,新网...

  • 2019-06-13 重定向301和302

    什么是重定向? 所谓重定向就是将网页自动转向重定向,即:301永久性重定向和302临时性重定向。实施301后,新网...

  • http和https

    http和https的区别 响应: 302:临时重定向,浏览器不需要缓存 301:永久重定向 303:临时重定向,...

  • 重定向302

    情景描述 使用fetch发送请求 服务器发现无法处理,因此对请求进行了重定向处理。返回状态码302,并且在请求头中...

网友评论

      本文标题:AFNetworking 302 重定向

      本文链接:https://www.haomeiwen.com/subject/laptyftx.html