【iOS】AFN网络请求通过获取cookies保持会话

泪湿孤枕 提交于 2020-03-06 10:42:54

首先,我在登录成功的回调函数中就记录下当时的cookie,并保存在本地中,全局调用。

//获取cookie  

  1. NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage]cookiesForURL:[NSURL URLWithString:url]];  
  2. for (NSHTTPCookie *tempCookie in cookies)  
  3.         {  
  4.             //打印cookies  
  5.             NSLog(@"getCookie:%@",tempCookie);  
  6.         }  
  7. NSDictionary *Request = [NSHTTPCookie requestHeaderFieldsWithCookies:cookies];  
  8.   
  9. NSUserDefaults *userCookies = [NSUserDefaults standardUserDefaults];  
  10. [userCookies setObject:[Request objectForKey:@"Cookie"] forKey:@"userDefaultsCookie"];  
  11. [userCookies synchronize];  

再在你需要的页面中调用出你的cookie,并存放在请求头中即可

  1. [self.manager.requestSerializer setValue:[[NSUserDefaults standardUserDefaults]objectForKey:@"userDefaultsCookie"]forHTTPHeaderField:@"Cookie"];  

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!