1. 程式人生 > >IOS cookie的使用方法1 Request

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了。