iOS cookie

释放双眼,带上耳机,听听看~!

1 NSMutableURLRequest请求时,会找到和该域名相同的cookie值,放到一起,然后请求。

2 [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie]; 不会在本地磁盘写入,只做内存缓存。

3 添加cookie

 NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary];
[cookieProperties setObject:@"authKey" forKey:NSHTTPCookieName];
[cookieProperties setObject:@".tabobao.com" forKey:NSHTTPCookieDomain];
[cookieProperties setObject:@"sfda" forKey:NSHTTPCookieValue];
[cookieProperties setObject:@"/" forKey:NSHTTPCookiePath];
[cookieProperties setObject:@"0" forKey:NSHTTPCookieVersion];
NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cookieProperties];
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
//添加cookie
NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
for (NSHTTPCookie *tempCookie in cookies) {
NSLog(@"tep %@",tempCookie);
}

4 遍历cookie

  NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
for (NSHTTPCookie *tempCookie in cookies) {
NSLog(@"tep %@",tempCookie);
}

5 删除cookie

  for (NSHTTPCookie *curCookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]) {
[[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:curCookie];
}

6测试代码

- (void)viewDidLoad {
[super viewDidLoad];
[self writeCookie];
[self testquest];
}
- (void)writeCookie{
NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary];
[cookieProperties setObject:@"authKey" forKey:NSHTTPCookieName];
[cookieProperties setObject:@".taobao.com" forKey:NSHTTPCookieDomain];
[cookieProperties setObject:@"sfda" forKey:NSHTTPCookieValue];
[cookieProperties setObject:@"/" forKey:NSHTTPCookiePath];
[cookieProperties setObject:@"0" forKey:NSHTTPCookieVersion];
//添加cookie
NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cookieProperties];
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
for (NSHTTPCookie *tempCookie in cookies) {
NSLog(@"tep %@",tempCookie);
}
}
- (long long)testquest{
NSString *nsUrl = [NSString stringWithFormat:@"https://taobao.com"];
NSMutableURLRequest *nsmRequest = [[NSMutableURLRequest alloc] init] ;
[nsmRequest setURL:[NSURL URLWithString:nsUrl]];
[nsmRequest setHTTPMethod:@"HEAD"];
[nsmRequest setTimeoutInterval:30];
[nsmRequest addValue:[NSString stringWithFormat:@"text/html"] forHTTPHeaderField: @"Content-Type"];
[nsmRequest addValue:[NSString stringWithFormat:@"no-cache"] forHTTPHeaderField: @"Cache-Control"];
//get response
NSHTTPURLResponse* nsResponse = nil;
NSError *nsError = nil;
NSData *nsResponseData = nil;
@try
{
nsResponseData = [NSURLConnection sendSynchronousRequest:nsmRequest returningResponse:&nsResponse error:&nsError];
}
@catch (NSException * e)
{
return 0;
}
if( nsResponseData == nil )
{
if( -1001 == [nsError code] )
{
return 0;
}
return 0;
}
}

赋值代码后,使用Charles抓包就好。

人已赞赏
iOS文章

iOS开发瀑布流实现

2020-1-15 18:36:39

iOS文章

Swift-命名空间,反射机制

2020-1-16 9:22:56

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索