美文网首页
AFNetworking 如何使用cookie来发请求

AFNetworking 如何使用cookie来发请求

作者: 飞向大海的菜鸟 | 来源:发表于2016-12-06 14:38 被阅读213次
    • 最近有个问题困扰了我一段时间,就是登陆之后的cookie要保存下来,在后面的接口中还要把登陆的cookie返回给后台。在网上看了一些讲解,结合实际项目接口。最近还是让我给解决了。
      废话不多说,直接附上代码
    //登陆的时候拿到cookie,用偏好设置存到本地
    [manager POST:url parameters:parameters progress:^(NSProgress * _Nonnull downloadProgress) {
            
        } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
            
            NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL: [NSURL URLWithString:url]];
            
            NSData *data = [NSKeyedArchiver archivedDataWithRootObject:cookies];
            
            [[NSUserDefaults standardUserDefaults] setObject:data forKey:url];
            
            //NSLog(@"%@", responseObject);
            
        } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
            
            NSLog(@"%@",error);
            
        }];
    
    //在调用其他接口时需要把cookie传给后台,也就是设置cookie的过程
    NSData *cookiesdata = [[NSUserDefaults standardUserDefaults] objectForKey:url];//url和登陆时传的url 是同一个
        if([cookiesdata length]) {
            NSArray *cookies = [NSKeyedUnarchiver unarchiveObjectWithData:cookiesdata];
            NSHTTPCookie *cookie;
            for (cookie in cookies) {
                [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
            }  
        }
    

    相关文章

      网友评论

          本文标题:AFNetworking 如何使用cookie来发请求

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