iOS中cookie使用
来源:互联网 发布:塑料袋污染 数据 编辑:程序博客网 时间:2024/05/21 17:03
1. 什么是cookie?
Cookie指某些网站为了辨别用户身份而储存在用户本地终端(ClientSide)上的数据(通常经过加密)。定义于RFC2109。为网景公司的前雇员LouMontulli在1993年3月所发明。
在使用的时候,用户第一次登陆或者第一次和服务器连接,将会从服务器获取一次cookie。然后终端可能再给cookie中增加几个字段,然后存储在本地。
然后每次访问网页的时候,客户端会把Cookie发送给服务器。
实际上,在iOS系统中,cookie的数据形式是字典NSDictionary,一个键值对应一个参数。
2.iOS中对cookie的操作
iOS提供了两个类,用于操作cookie:
1. NSHTTPCookie 2. NSHTTPCookieStorage
NSHTTPCookieStorage是一个单例,存储管理所有的cookie。一个NSHTTPCookie对象是一个cookie。可以理解为NSHTTPCookieStorage管理的目标就是NSHTTPCookie。
关于这两个类的具体讲义见:点击打开链接
还是比较详细的。
下面上几段示例代码:
存储cookie:
- [[NSHTTPCookieStorage sharedHTTPCookieStorage]setCookie:[NSHTTPCookie cookieWithProperties:properties]];
获取cookie:
- NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
- for (NSHTTPCookie *cookie in cookies) {
- NSDictionary *dict = cookie.properties;
- NSLog(@"%@",dict);
- }
清除cookie:
- +(void) deleteCookie
- {
- NSHTTPCookie *cookie;
- NSHTTPCookieStorage *cookieJar = [NSHTTPCookieStorage sharedHTTPCookieStorage];
- for (cookie in [cookieJar cookies])
- {
- [cookieJar deleteCookie:cookie];
- }
- }
通过请求头可以传递 一些web 想要的一些信息,但是这个方法有些局限性,如果web 跳转的时候头的信息会消息,最好的方法就是自定义cookie 传值
NSURL* url = [NSURLURLWithString:self.url];
NSMutableURLRequest *request = [[NSMutableURLRequestalloc]initWithURL: url];
NSString *body = [NSString stringWithFormat: @"uuid=%@&sessionid=%@", uuid,sessionid];
[request setHTTPBody: [body dataUsingEncoding: NSUTF8StringEncoding]];
[request setHTTPMethod: @"POST"];
[self.myWebViewloadRequest:request];
[self.viewaddSubview:self.myWebView];
自定义ccokie 传值
//定义 cookie要设定的 host
NSURL* url = [NSURLURLWithString:self.url];
NSURL *cookieHost = [NSURLURLWithString:self.url];
NSDictionary *dic =@{@"uuid":uuid,@"sessionid":sessionid,@"feedid":self.feedid,@"softversion":softversion,@"devicetype":deviceId,@"touuid": self.touuid};
[dic enumerateKeysAndObjectsUsingBlock:^(id key,id obj, BOOL *stop) {
//设定 cookie
NSHTTPCookie *cookie = [NSHTTPCookiecookieWithProperties:
[NSDictionarydictionaryWithObjectsAndKeys:
[cookieHosthost],NSHTTPCookieDomain,
[cookieHostpath],NSHTTPCookiePath,
key,NSHTTPCookieName,
obj,NSHTTPCookieValue,
nil]];
[[NSHTTPCookieStoragesharedHTTPCookieStorage]setCookie:cookie];
}];
[self.myWebViewloadRequest:request];//加载
[self.viewaddSubview:self.myWebView];
- iOS中cookie使用
- iOS 获取 cookie webView中使用Cookie
- iOS中Cookie的使用
- iOS中Cookie的使用
- IOS中http请求使用cookie
- IOS中http请求使用cookie
- IOS中http请求使用cookie
- IOS中http请求使用cookie
- IOS中http请求使用cookie
- IOS中http请求使用cookie
- IOS中http请求使用 cookie
- iOS开发ASIHTTPRequest中Cookie的使用
- IOS中http请求使用cookie
- IOS中http请求使用cookie
- iOS中http请求使用cookie
- IOS中http请求使用cookie
- IOS中http请求使用cookie
- iOS开发ASIHTTPRequest中Cookie的使用
- Java基础-面向对象小知识(上)
- 液晶设计参数确定
- iOS UIButton 点击事件带多参数
- CentOS中vsftp安装、配置、卸载
- 统计Xcode的源码行数
- iOS中cookie使用
- 关于getChildStaticTransformation在android4.1失效问题解决方案
- 手撸一个Android线形图表
- 2016秋季练习
- IO案例
- 在局部坐标系上创建取向矩阵 Creating on Orientation Matrix or Local Coordinate System
- git回滚、退出等
- Paxos算法与Zookeeper分析
- js的语句判断