- 最近有個問題困擾了我一段時間,就是登陸之后的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];
}
}
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。