博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASIHTTPRequest-Cookie的使用[转]
阅读量:6579 次
发布时间:2019-06-24

本文共 1737 字,大约阅读时间需要 5 分钟。

ASIHTTPRequest允许你使用全局存储来和所有使用CFNetwork或者NSURLRequest接口的程序共享cookie。

如果设置useCookiePersistence为YES(默认值),cookie会被存储在共享的 NSHTTPCookieStorage 容器中,并且会自动被其他request重用。值得一提的是,ASIHTTPRequest会向服务器发送其他程序创建的cookie(如果这些cookie对特定request有效的话)。

你可以清空session期间创建的所有cookie:

1
[ASIHTTPRequest 
setSessionCookies
:
nil
];

这里的‘session cookies’指的是一个session中创建的所有cookie,而非没有过期时间的cookie(即通常所指的会话cookie,这种cookie会在程序结束时被清除)。

另外,有个方便的函数 clearSession可以清除session期间产生的所有的cookie和缓存的授权数据。 

 

自己处理cookie

如果你愿意,你大可以关闭useCookiePersistence,自己来管理某个request的一系列cookie:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//创建一个cookie
NSDictionary 
*properties = [[[
NSMutableDictionary 
alloc
] 
init
] 
autorelease
];
[properties 
setValue
:[
@
"Test Value" 
encodedCookieValue
] 
forKey
:
NSHTTPCookieValue
];
[properties 
setValue
:
@
"ASIHTTPRequestTestCookie" 
forKey
:
NSHTTPCookieName
];
[properties 
setValue
:
@
".dreamingwish.com" 
forKey
:
NSHTTPCookieDomain
];
[properties 
setValue
:[
NSDate 
dateWithTimeIntervalSinceNow
:60
*60
] 
forKey
:
NSHTTPCookieExpires
];
[properties 
setValue
:
@
"/asi-http-request/tests" 
forKey
:
NSHTTPCookiePath
];
NSHTTPCookie 
*cookie = [[[
NSHTTPCookie 
alloc
] 
initWithProperties
:properties] 
autorelease
];
 
//这个url会返回名为'ASIHTTPRequestTestCookie'的cookie的值
url = [
NSURL 
URLWithString
:
@
""
];
request = [ASIHTTPRequest 
requestWithURL
:url];
[request 
setUseCookiePersistence
:
NO
];
[request 
setRequestCookies
:[
NSMutableArray 
arrayWithObject
:cookie]];
[request 
startSynchronous
];
 
//将会打印: I have 'Test Value' as the value of 'ASIHTTPRequestTestCookie'
NSLog
(
@
"%@"
,[request 
responseString
]);
欢迎加群互相学习,共同进步。QQ群:iOS: 58099570 | Android: 330987132 | Go:217696290 | Python:336880185 | 做人要厚道,转载请注明出处!http://www.cnblogs.com/sunshine-anycall/p/4135212.html
你可能感兴趣的文章
JavaScript学习(一)
查看>>
SVN 主机IP变更的应对方式
查看>>
自定义蜘蛛网图 NetView
查看>>
【转载】Python中使用线程的技巧
查看>>
跨浏览器的placeholder
查看>>
spring 定时任务执行两次 解决方案
查看>>
MYSQL日期和时间函数
查看>>
[MySQL 5.6] innodb_flush_method新值O_DIRECT_NO_FSYNC 及bug#68555
查看>>
Swagger - 前后端分离后的契约
查看>>
EBER原来这么玩!看这个我也是醉了!
查看>>
MySQL · 捉虫动态 · left-join多表导致crash
查看>>
你知道现在很火的APP推广神器MobLinK技术是什么吗?
查看>>
CSP防运营商劫持
查看>>
【js基础修炼之路】- 微任务,宏任务和Event-Loop
查看>>
从零开始实现一个RPC框架(三)
查看>>
JavaScript 复习之 Date 对象
查看>>
openstack从入门到放弃
查看>>
小程序scroll-view换行问题
查看>>
[Azure DevOps 系列] 二、使用Azure DevOps构建ASP.NET Core应用
查看>>
HTTP常见错误
查看>>