iOS中的cookie使用

一、NSHTTPCookie自定义cookie

NSHTTPCookie类,

可以看到有如下几个方法:

//初始化
- (nullable instancetype)initWithProperties:(NSDictionary<NSString *, id> *)properties;
+ (nullable NSHTTPCookie *)cookieWithProperties:(NSDictionary<NSString *, id> *)properties;
//通过cookie生成requestHeaderField的字典
+ (NSDictionary<NSString *, NSString *> *)requestHeaderFieldsWithCookies:(NSArray<NSHTTPCookie *> *)cookies;
//从requestHeaderField中读取cookie
+ (NSArray<NSHTTPCookie *> *)cookiesWithResponseHeaderFields:(NSDictionary<NSString *, NSString *> *)headerFields forURL:(NSURL *)URL;

还有cookie的一些属性:

properties
version
name
value
expiresDate
domain

等用来封装cookie

二、NSHTTPCookieStorage管理类

提供管理NSHTTPCookie类的接口,在iOS中cookie只在当前应用有效。

有如下方法:

//获取单例对象
+ (NSHTTPCookieStorage *)sharedHTTPCookieStorage;
//添加/删除cookie
- (void)setCookie:(NSHTTPCookie *)cookie;
- (void)deleteCookie:(NSHTTPCookie *)cookie;
- (void)removeCookiesSinceDate:(NSDate *)date NS_AVAILABLE(10_10, 8_0);
- (void)setCookies:(NSArray<NSHTTPCookie *> *)cookies forURL:(nullable NSURL *)URL mainDocumentURL:(nullable NSURL *)mainDocumentURL;
//从特定url获取cookie
- (nullable NSArray<NSHTTPCookie *> *)cookiesForURL:(NSURL *)URL;

及如下属性:

//获取所有cookie
@property (nullable , readonly, copy) NSArray<NSHTTPCookie *> *cookies;
//设定cookieAcceptPolicy
@property NSHTTPCookieAcceptPolicy cookieAcceptPolicy;  //默认是NSHTTPCookieAcceptPolicyAlways 接受所有cookie

三、一种常用的方式

在login或其他获取cookie的时候,通过NSHTTPCookieStorage的cookiesForURL方法,获取cookie,将cookie持久化保存在本地。

在需要cookie的时候再从本地读出,通过NSHTTPCookieStorage的setCookie设置cookie









阅读更多
文章标签: cookie ios
个人分类: objective-c
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

iOS中的cookie使用

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭