项目中,需要在打开3g网页时,通过cookie传递一些信息。
实现代码如下:
在
NSURL *url = [NSURL URLWithString:_urlstr];
//NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:60];
[self.myWeb loadRequest:request];
之前,设置或者删除cookie。
//
//设置cookie
- (void)setCookie{
NSMutableDictionary *cookiePropertiesUser = [NSMutableDictionary dictionary];
[cookiePropertiesUser setObject:@"cookie_user" forKey:NSHTTPCookieName];
[cookiePropertiesUser setObject:uid forKey:NSHTTPCookieValue];
[cookiePropertiesUser setObject:@"xxx.xxx.com" forKey:NSHTTPCookieDomain];
[cookiePropertiesUser setObject:@"/" forKey:NSHTTPCookiePath];
[cookiePropertiesUser setObject:@"0" forKey:NSHTTPCookieVersion];
// set expiration to one month from now or any NSDate of your choosing
// this makes the cookie sessionless and it will persist across web sessions and app launches
/// if you want the cookie to be destroyed when your app exits, don't set this
[cookiePropertiesUser setObject:[[NSDate date] dateByAddingTimeInterval:2629743] forKey:NSHTTPCookieExpires];
NSHTTPCookie *cookieuser = [NSHTTPCookie cookieWithProperties:cookiePropertiesUser];
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookieuser];
}
//清除cookie
- (void)deleteCookie{
NSHTTPCookie *cookie;
NSHTTPCookieStorage *cookieJar = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSArray *cookieAry = [cookieJar cookiesForURL: [NSURL URLWithString: _urlstr]];
for (cookie in cookieAry) {
[cookieJar deleteCookie: cookie];
}
}