IOS webview中cookie的读取与保存-b

时间:2023-03-09 20:52:46
IOS webview中cookie的读取与保存-b

Cookie 的读取

将它放在 webViewDidFinishLoad 开始后执行

  1. NSArray *nCookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];NSHTTPCookie *cookie;
  2. for (id c in nCookies)
  3. {
  4. if ([c isKindOfClass:[NSHTTPCookie class]]){
  5. cookie=(NSHTTPCookie *)c;
  6. NSLog(@"%@: %@", cookie.name, cookie.value);}
  7. }

2 存储长效数据

我要读取 COOKIE,为了将 COOKIE 保存下来,在下次进入 APP 的时候,再取出来使用,我写的

下面两个方法,可以存取 NSMutableDictionary 类型的数据,这种类型的数据,可以理解为键值对,而且可以很方便的通过下面两行代码读取和修改一个健的值

  1. 读取
  2. NSString *cookieValue = [cookieData valueForKey:cookieName];
  3. 设置 / 增加
  4. NSMutableDictionary *jsonCookie = [[NSMutableDictionary alloc] init];[jsonCookie setValue:cookieValue forKey:cookieName];
  5. // 保存数据到本地
  6. - (BOOL) SetLocalData:(NSString *)dataFile dataObject:(NSMutableDictionary *)dataObject{
  7. // 设置路径,并保存
  8. NSString *savePath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) objectAtIndex:0];
  9. NSString *saveFile = [savePath stringByAppendingPathComponent:dataFile];[NSKeyedArchiver archiveRootObject:dataObject toFile:saveFile];
  10. return YES;
  11. }
  12. // 读取本地保存的数据
  13. - (NSMutableDictionary *) GetLocalData:(NSString *)dataFile {
  14. // 按文件名来读取数据
  15. NSString *savePath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) objectAtIndex:0];
  16. NSString *saveFile = [savePath stringByAppendingPathComponent:dataFile];return [NSKeyedUnarchiver unarchiveObjectWithFile: saveFile];
  17. }