多线程与网络之cookies
1. 网络请求中的cookie
1.1 删除cooki
NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
//删除cookie
for (NSHTTPCookie *tempCookie in cookies) {
    [cookieStorage deleteCookie:tempCookie];
}
1.2 获取并保存cookie
/*
 * 把cookie进行归档并转换为NSData类型
 * 注意:cookie不能直接转换为NSData类型,否则会引起崩溃。
 * 所以先进行归档处理,再转换为Data
 */
NSData *cookiesData = [NSKeyedArchiver archivedDataWithRootObject: [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]];
//存储归档后的cookie
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject: cookiesData forKey: @"cookie"];
1.3 取出保存的cookie并设置
NSHTTPCookieStorage *sharedHTTPCookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
if ([sharedHTTPCookieStorage cookieAcceptPolicy] != NSHTTPCookieAcceptPolicyAlways) {
    [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];
}
//取出保存的cookie
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
//对取出的cookie进行反归档处理
NSArray *cookies = [NSKeyedUnarchiver unarchiveObjectWithData:[userDefaults objectForKey:@"cookie"]];
if (cookies) {
    NSLog(@"有cookie");
    //设置cookie
    NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
    for (id cookie in cookies) {
        [cookieStorage setCookie:(NSHTTPCookie *)cookie];
    }
}else{
    NSLog(@"无cookie");
}多线程与网络之cookies的更多相关文章
- JAVA多线程下载网络文件
		JAVA多线程下载网络文件,开启多个线程,同时下载网络文件. 源码如下:(点击下载 MultiThreadDownload.java) import java.io.InputStream; im ... 
- 第九节:详细讲解Java中的泛型,多线程,网络编程
		前言 大家好,给大家带来详细讲解Java中的泛型,多线程,网络编程的概述,希望你们喜欢 泛型 泛型格式:ArrayList list= new ArrayList(); ArrayList list= ... 
- Qt 多线程和网络编程学习
		一,Qt多线程类学习 QThread类,开始一个新的线程就是开始执行重新实现QThread::run(),run()是默认现实调用exec(),QThread::start()开始线程的执行,run( ... 
- iOS技术面试01:多线程与网络
		1. 多线程的底层实现? 1> 首先搞清楚什么是线程.什么是多线程.多线程的使用场合(线程有时被称为轻量级进程,是程序执行流的最小单元.多线程是指软件或者硬件实现多个线程并发执行的技术.多线程的 ... 
- 【Python数据分析】Python3多线程并发网络爬虫-以豆瓣图书Top250为例
		基于上两篇文章的工作 [Python数据分析]Python3操作Excel-以豆瓣图书Top250为例 [Python数据分析]Python3操作Excel(二) 一些问题的解决与优化 已经正确地实现 ... 
- 多线程与网络之NSURLConnection发送请求
		*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ... 
- 多线程与网络之SDWebImage和NSCache
		*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ... 
- iOS多线程与网络开发之发送接收server信息
		郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. (1).使用同步方法发送get请求(不经常使用) 2 /** 发送get消息 */ 3 - (void) testGet { 4 NSString *r ... 
- iOS多线程与网络开发之多线程NSThread
		郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 游戏官方下 ... 
随机推荐
- Telerik_2012_Q3 (已破解)全套下载链接
			1.Telerik_OpenAccess_ORM_2012_3_1012_SDK.zip (暂未提供下载) 2. Telerik_OpenAccess_ORM_2012_3_1012.zip 3. T ... 
- 1014: [JSOI2008]火星人prefix - BZOJ
			Description 火星人最近研究了一种操作:求一个字串两个后缀的公共前缀.比方说,有这样一个字符串:madamimadam,我们将这个字符串的各个字符予以标号:序号: 1 2 3 4 5 6 7 ... 
- 1199: [HNOI2005]汤姆的游戏 - BZOJ
			Description 汤姆是个好动的孩子,今天他突然对圆规和直尺来了兴趣.于是他开始在一张很大很大的白纸上画很多很多的矩形和圆.画着画着,一不小心将他的爆米花弄撒了,于是白纸上就多了好多好多的爆米花 ... 
- Python性能鸡汤
			http://pythoner.org/wiki/257/ 毫无疑问:Python程序没有编译型语言高效快速. 甚至Python拥护者们会告诉你Python不适合这些领域. 然而,YouTube已用P ... 
- Linq基本用法
- HDU 1757 A Simple Math Problem(矩阵快速幂)
			题目链接 题意 :给你m和k, 让你求f(k)%m.如果k<10,f(k) = k,否则 f(k) = a0 * f(k-1) + a1 * f(k-2) + a2 * f(k-3) + …… ... 
- 在服务器端使用 Git 创建源代码仓库
			下面简单讲述在服务器搭建 Git 仓库的过程. 安装 Git 程序 Git 是分布式的,即程序不区分服务端和客户端,大部分 Linux 发行版的官方源里都有它,比如在 Archlinux 里安装 Gi ... 
- HeadFirst设计模式之策略模式
			什么是策略模式:它定义了一系列算法,可以根据不同的实现调用不同的算法 大多数的设计模式都是为了解决系统中变化部分的问题 一.OO基础 抽象.封装.多态.继承 二.OO原则 1.封装变化,如把FlyBe ... 
- ruby中Block, Proc 和 Lambda 浅析
			Block 与Proc的区别: Block是代码块,Proc是对象: 参数列表中最多只能有一个Block, 但是可以有多个Proc或Lambda; Block可以看成是Proc的一个类实例. Proc ... 
- 新版本的tlplayer for android ,TigerLeapMC for windows发布了
			tlplayer for android 新版本修正了图像倾斜等等问题,增加了动态水印功能. 支持hls(m3u8),http,rtsp,mms,rtmp等网络协议. 声明tlplayer 上的变速不 ... 
