IOS cookie的使用方法1 Request
阿新 • • 發佈:2018-11-22
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了。