IOS cookie的使用方法1 Request

AFHTTPSessionManager * manager = [AFHTTPSessionManager manager];

NSString *cookies = [[NSUserDefaults standardUserDefaults]objectForKey:@"set-cookie"];
    
[manager.requestSerializer setValue:cookies forHTTPHeaderField:@"cookie"];

[manager POST:@"www.baidu.com" parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        
    }];

建议结合上篇cookie使用图解一起看https://blog.csdn.net/lee727n/article/details/84322272

这里是第一次访问。注意,第一次访问cookie是空的,只有访问成功一次,拿到一次cookie存到本地,第二次访问的时候,才能给httpheaderField里面的cookie赋值。

接下来访问请求之后,拿到cookie,存到本地数据持久化。

    [manager POST:@"www.baidu.com" parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        NSHTTPURLResponse *response = (NSHTTPURLResponse *)task.response;
        NSDictionary *allHeaders = response.allHeaderFields;
        
        [[NSUserDefaults standardUserDefaults]setValue:allHeaders[@"setcookie"] forKey:@"set-cookie"];
        
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        
    }];

存到本地以后,下次请求,也就是第一段代码段,请求的时候就可以把mangager带上cookie了。

猜你喜欢

转载自blog.csdn.net/lee727n/article/details/84323982