关闭

iOS中的cookie使用

标签: cookieios
305人阅读 评论(0) 收藏 举报
分类:

一、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









0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:16392次
    • 积分:591
    • 等级:
    • 排名:千里之外
    • 原创:43篇
    • 转载:12篇
    • 译文:0篇
    • 评论:3条
    文章分类
    最新评论