博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS的Cookie管理
阅读量:6927 次
发布时间:2019-06-27

本文共 1085 字,大约阅读时间需要 3 分钟。

img_76445a8e971be8d410081a72f82f71d9.jpe
photo-1490633874781-1c63cc424610.jpeg

背景

最近有一个需求,需要手动的去缓存cookie,然后启动APP的时候设置缓存过的cookie,项目网络框架用的是Afnetworking。

解决方案

翻了下Afnetworking的issue,发现了作者对于cookie的解释

Afnetworking没有对Cookie做过处理

img_41662705812fd30c0dedf774c1b3ccfa.jpe
15197156684835.jpg

使用NSHTTPCookieStorage即可实现cookie的管理。上代码!

存cookie

NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:[NSURL URLWithString:url]];NSData *data = [NSKeyedArchiver archivedDataWithRootObject:cookies];NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];[userDefaults setObject:data forKey:@"cookie"];

设置cookie

NSData *cookiesdata = [[NSUserDefaults standardUserDefaults] objectForKey:@"m3cookie"];    if([cookiesdata length]) {        NSArray *cookies = [NSKeyedUnarchiver unarchiveObjectWithData:cookiesdata];        NSHTTPCookie *cookie;        for (cookie in cookies) {            [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];        }    }

清理cookie

NSHTTPCookie *cookie;NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];for (cookie in [storage cookies]) {    [storage deleteCookie:cookie];}

参考文章:

转载地址:http://xnujl.baihongyu.com/

你可能感兴趣的文章
技术领导(Technical Leader)画像
查看>>
HTTP 用户认证
查看>>
android binder 基础实例及解析(一)【转】
查看>>
Qt网络编程之QNetworkAccessManager
查看>>
杂七杂八
查看>>
Lua代码提示和方法跳转
查看>>
关于时间差查询的一个小技巧
查看>>
Linux系列教程(十三)——Linux软件包管理之源码包、脚本安装包
查看>>
【.Net】优秀的开源框架
查看>>
Linux内存管理学习2 —— head.S中的段页表的建立
查看>>
sourcetree和Git的使用教程
查看>>
什么叫PV,UV,PR值
查看>>
2.Brackets安装及常用插件安装
查看>>
ajax用beforeSend自定义请求过程中客户端事件,提高用户体验
查看>>
一个屌丝程序猿的人生(七十八)
查看>>
资源贴——以备时时查询用
查看>>
phinx 使用指南
查看>>
Scala学习教程笔记二之函数式编程、Object对象、伴生对象、继承、Trait、
查看>>
PowerShell 异常处理
查看>>
LindDotNetCore~Polly组件对微服务场景的价值
查看>>