//
// ViewController.m
// cookie
//
// Created by 谭启宏 on 16/3/4.
// Copyright © 2016年 tqh. All rights reserved.
// #import "ViewController.h" static NSString*kLocalCookieName =@"MyProjectCookie";
static NSString*kLocalUserData =@"MyProjectLocalUser";
static NSString*kServerSessionCookie =@"JSESSIONID";
@interface ViewController () @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
} - (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
//保存cookie
+ (void)saveLoginSession {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *allCookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage]cookies];
NSMutableDictionary *cookieDictionary;
for (NSHTTPCookie *cookie in allCookies) {
if ([cookie.name isEqualToString:kServerSessionCookie]) {
cookieDictionary = [NSMutableDictionary dictionaryWithDictionary:[defaults dictionaryForKey:kLocalCookieName]];
[cookieDictionary setValue:cookie.properties forKey:@"cookieDict"];
[defaults setValue:cookieDictionary forKey:kLocalCookieName];
[self updateSession];
[defaults synchronize];
break;
}else if([cookie.name isEqualToString:@"jsessionId"]){ }
}
}
//更新cookie
+ (void)updateSession {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSDictionary *cookieDictionary = [defaults dictionaryForKey:kLocalCookieName];
NSLog(@"%@",cookieDictionary);
NSDictionary *cookieProperties = [cookieDictionary valueForKey:@"cookieDict"];
if (cookieProperties != nil) {
NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cookieProperties];
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
}
}
//删除cookie
+ (void)removeLoginSession{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults removeObjectForKey:kLocalCookieName];
[defaults synchronize];
}
@end

iOS使用cookie的更多相关文章

  1. iOS之Cookie

    iOS之Cookie使用 简介 概念:Cookie中文名称叫做"小型文本文件",指某些网站为了辨别用户身份而存储在用户本地终端上的数据(通常经过加 密). Web服务器可以用过Se ...

  2. iOS的Cookie存取

    当前一些公司为了快速出一款app,很多时候采用UINavigationController+WebView或者NavigationController+UITabbarVC+WebView的方式,这样 ...

  3. iOS中Cookie的管理

    平常的app开发中只调用Rest Api可能用不到Cookie,但是当要在App中内嵌WebView就有可能要用到.最近用到了这一块的东西,总结一下. Cookie原理 关于cookie的原理简单描述 ...

  4. 【读书笔记】iOS网络-Cookie

    Cookie是HTTP协议在首个版本之后加入的一个重要组件.它向服务器提供了追踪会话状态的能力,同时又无须维持客户端与服务器之间的连接.在浏览器客户端,Cookie值是由服务器通过请求提供的,,然后被 ...

  5. IOS - 打印COOKIE中的 CRFSToken

    NSHTTPCookie 在iOS中使用NSHTTPCookie类封装一条cookie,通过NSHTTPCookie的方法读取到cookie的通用属性. - (NSUInteger)version; ...

  6. iOS保存cookie的方法

    SURLRequest*request =[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com/ ...

  7. iOS关于Cookie验证登录状态

    1.第一次进入应用,登录获取Cookie,此时如果用到的是AFN去获取接口数据,Cookie已经写入了,所以无需处理,每次请求的时候,会自动将该cookie传给后台去验证 2.将Cookie缓存到本地 ...

  8. iOS swift cookie创建存储移除

    保存网络请求的cookies,并存储到UserDefaults中 //保存COOKIES static func saveCookies(for urlStr: String){ if let url ...

  9. iOS:项目中用到的Cookie

    1.介绍: 做了这么长时间开发,Cookie真是用的不多,可是现在不一样了,这次的项目我用到了Cookie.其实,Cookie的使用在项目中愈加的频繁,一般情况下,提供的接口是用Cookie来识别用户 ...

随机推荐

  1. 洛谷 P1903 【模板】分块/带修改莫队(数颜色)

    题目描述 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问.墨墨会像你发布如下指令: 1. Q L R代表询问你从第L支画笔到第R支画笔中共有几种不同颜色的画笔. 2 ...

  2. connect() to 192.168.30.71:8082 failed (99: Cannot assign requested address) while connecting to upstream, client: 114.80.182.136, server: localhost, request: "GET /home/senior HTTP/1.1", upstream: "

    connect() to 192.168.30.71:8082 failed (99: Cannot assign requested address) while connecting to ups ...

  3. BZOJ 4777: [Usaco2017 Open]Switch Grass

    4777: [Usaco2017 Open]Switch Grass Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 46  Solved: 10[Su ...

  4. 基于Activiti5.15.1 自定义用户、组(User,Group)实现

    基于Activiti5.15.1 自定义用户.组(User,Group)实现 本人刚接触Activiti,最近工作中需要将Activiti中原有的用户,组(ACT_ID_USER,ACT_ID_GRO ...

  5. 2018.4.11 Java为何用xml做配置文件? 理由如下

    在Java世界里xml配置文件几乎是首选,xml有什么好的特性呢? 第一:xml能存储小量数据,仅仅是存储数据. 第二:xml可以跨平台,主流各种平台都对xml有支持, 真正的跨平台, 第三:xml读 ...

  6. 剑指offer15 链表中倒数第k个结点

    错误代码 class Solution { public: ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) { ) retur ...

  7. .vue公共组件裁减导航

    场景: 有一个公共头部和底部,vue搭建的框架,在app.vue里写的公共方法,首页是个登录页面,不需要公共部分,在这基础上进行公共部分的显示隐藏. 即注册页.登录页.404页面都不要导航 代码: ( ...

  8. pycharm 使用技巧

    格式化代码为pep8: ctrl+alt+l http://edu.51cto.com//index.php?do=lession&id=163794

  9. 解决AjaxFileUpload中文化/国际化的问题。

    由微软官方提供的AjaxControlToolKit,在ASP.NET开发过程中,确实能够给开发者带来很多的便利,节约开发者的重复劳动.这套控件也是比较成熟的,在性能方面也不会太差,至少能够满足一般开 ...

  10. 通过luac编译lua脚本

    在lua官网下载一个lua的release包,里面有已经编译好的lua启动文件(包括lua.exe),其中还有luac.exe, 这个程序是用来将lua文件编译成二进制码, 使用方法很简单,在控制台调 ...