SwiftCommon之Cookie处理

概述

在IOS中,cookie数据是由NSHTTPCookieStorage类来管理的,从其类名可以看出,这是一个仓库,一个专门存放Cookie数据的仓库。我们从中获取一个Cookie,得到到的是一个NSHTTPCookie类,它包装了一个完整的Cookie,我们通过这个类可以获取Cookie的各种信息。

在默认情况下,当一个网络请求接收到Cookie数据时,会自动保存下来,下次请求会自动带上Cookie,我们无需插手。不过我们也要清楚如何取查询这些被保存的Cookie。

SCCookie类是一个简单的封装,通过几个类方法可以快速获得需要的Cookie值。

SCCookie类

1import Foundation 2 3/// 访问Cookie的相关方法 4public class SCCookie{ 5 6 7 /// 获取存放Cookie的Storage 8 public class func GetCookieStorage()->NSHTTPCookieStorage{ 9 return NSHTTPCookieStorage.sharedHTTPCookieStorage() 10 } 11 12 /// 获取所有Cookie数组 13 public class func GetCookieArray()->[NSHTTPCookie]{ 14 15 let cookieStorage = GetCookieStorage() 16 let cookieArray = cookieStorage.cookies 17 if let arr = cookieArray{ 18 return cookieArray as! [NSHTTPCookie] 19 } 20 else{ 21 return [] 22 } 23 } 24 25 /// 获取Cookie值 26 public class func GetCookieByName(let cookieName:String)->String? 27 { 28 let cookieArray:[NSHTTPCookie] = GetCookieArray() 29 var value:String? 30 if cookieArray.count > 0 31 { 32 33 for cookie in cookieArray 34 { 35 36 if cookie.name == cookieName 37 { 38 value = cookie.value 39 break 40 } 41 } 42 } 43 return value 44 } 45 46 /// 根据Cookie内容数据,获取一个对应的NSDictionary数据 47 public class func GetRequestFiledByCookie(let cookieAttay:[NSHTTPCookie])->NSDictionary{ 48 49 let requestFiled = NSHTTPCookie.requestHeaderFieldsWithCookies(cookieAttay) 50 return requestFiled as NSDictionary 51 } 52}

Git地址

http://devonios.com/go/swiftcommon

tips:

本文由wp2blog导入,原文链接:http://devonios.com/sccookie.html

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

SpringBoot学习:整合shiro自动登录功能(rememberMe记住我功能)

首先在shiro配置类中注入rememberMe管理器!复制代码(https://oscimg.oschina.net/oscnet/675f5689159acfa2c39c91f4df40a00ce0f.gif)/cookie对象;rememberMeCookie()方法是设置Cookie的生成模

Selenium(十二):操作Cookie、调用JavaScript、HTML5的视频播放

1\.操作Cookie有时候我们想要验证浏览器中cookie是否正确,因为基于真实cookie的测试是无法通过白盒和集成测试的。WebDriver提供了操作Cookie的相关方法,可以读取、添加和删除cookie信息。WebDriver操作cookie的方法:get\_cookies():获得所有cookie信息