在UIWebView中设置cookie

来源:互联网 发布:数码煲仔饭的知乎 编辑:程序博客网 时间:2024/05/22 15:08

项目中,需要在打开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];            }}