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









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值