新项目,什么都是新的 (人,电脑,服务器,领导,公司等等。。。很多坑。。。),后台不配合 ,Cookie 害得我搞了很久,之前的很多方法都不适用 。所以简单粗暴,从根源弄吧。。。(趁着下班时间,做个笔记吧,以后用到的话直接过来粘贴)
获取登陆成功后的Cookie:
NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL: [NSURL URLWithString:url]];//此url 就是你们登陆调用的接口
NSData *datas = [NSKeyedArchiver archivedDataWithRootObject:cookies];
[[NSUserDefaults standardUserDefaults] setObject:datas forKey:@"Cookie"]; [[NSUserDefaults standardUserDefaults] synchronize];
```
设置:在每次网络请求前设置Cookie
NSData *cookieData = [[NSUserDefaults standardUserDefaults] objectForKey:@"Cookie"];
if([cookiesData length]) {
NSArray *cookies = [NSKeyedUnarchiver unarchiveObjectWithData:cookieData];
for (NSHTTPCookie *cookie in cookies) {
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
}
}
有空完善一下注释和其他关于Cookie的知识。。。今天关机走人。。。
网友评论