- 最近有個問題困擾了我一段時間蜘拉,就是登陸之后的cookie要保存下來遂唧,在后面的接口中還要把登陸的cookie返回給后臺夺脾。在網(wǎng)上看了一些講解之拨,結合實際項目接口。最近還是讓我給解決了咧叭。
廢話不多說蚀乔,直接附上代碼
//登陸的時候拿到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);
}];
//在調(diào)用其他接口時需要把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];
}
}
最后編輯于 :
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者