iOS开发 设置Cookie

作者: 我的天空蔚蓝色 | 来源:发表于2016-01-08 21:20 被阅读5099次

UIWebview中设置Cookie,有时候设置Cookie的参数根据后台的要求而不同,我这里设置的参数是userID和userPass,即用户ID和密码

-(void)setUIWebviewcookie{
        NSString * strID = [NSString stringWithFormat:@"%@",[[UserInfoManager shareUserInfoManagerWithDic:nil] id]];
        NSURL *cookieHost = [NSURL URLWithString:@"http://www.xxx.com"];
        // 设定 cookie
        NSHTTPCookie *cookie1 = [NSHTTPCookie cookieWithProperties:
                                 [NSDictionary dictionaryWithObjectsAndKeys:
                                  [cookieHost host], NSHTTPCookieDomain,
                                  [cookieHost path], NSHTTPCookiePath,
                                  @"USER_ID",  NSHTTPCookieName,
                                  strID, NSHTTPCookieValue,
                                  nil]];
        
        // 设定 cookie
        [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie1];
        NSString * mdStr = [UserInfoManager md5:[UserInfoManager md5:str]];
        // 定义 cookie 要设定的 host
        // 设定 cookie
        NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:
                                [NSDictionary dictionaryWithObjectsAndKeys:
                                 [cookieHost host], NSHTTPCookieDomain,
                                 [cookieHost path], NSHTTPCookiePath,
                                 @"USER_PASS",  NSHTTPCookieName,
                                 mdStr, NSHTTPCookieValue,
                                 nil]];
        // 设定 cookie
        [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
        [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];       
}

在网络请求中设置Cookie
/**

  • 网络请求设置Cookie
    */
    -(void)setCookie{

    NSString * cookStr = [NSString stringWithFormat:@"这是字符串是后台要求的"];
    NSMutableDictionary cookieProperties = [NSMutableDictionary dictionary];
    [cookieProperties setObject:@"author" forKey:NSHTTPCookieName];
    [cookieProperties setObject:cookStr forKey:NSHTTPCookieValue];
    [cookieProperties setObject:@"www.xxx.com" forKey:NSHTTPCookieDomain];
    [cookieProperties setObject:BaseURL forKey:NSHTTPCookieOriginURL];
    [cookieProperties setObject:@"/" forKey:NSHTTPCookiePath];
    [cookieProperties setObject:@"0" forKey:NSHTTPCookieVersion];
    [cookieProperties setValue:[NSDate dateWithTimeIntervalSinceNow:60
    6024360] forKey:NSHTTPCookieExpires];
    NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cookieProperties];
    [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
    }

```codelang
/**
 *  清除Cookie
 */
-(void)clearCook{
    NSHTTPCookieStorage *cookieJar = [NSHTTPCookieStorage sharedHTTPCookieStorage];
    NSArray *_tmpArray = [NSArray arrayWithArray:[cookieJar cookies]];
    for (id obj in _tmpArray) {
        [cookieJar deleteCookie:obj];
    }
}

这些都是手动设置的Cookie,AFNetworking也可以设置,由于没时间研究,就介绍到这里吧

相关文章

网友评论

  • YimG:UIweb cookie 3分钟后过期怎么办丫?
  • YimG:厉害 666
  • 440bd488f596:cookie怎么用?加到请求头吗?
  • 与世倾听X游定终生:我想设置英文的web内容转为中文,这个属性怎么设置啊
  • GavinKang:大神,我想在加载网页的时候,同步登录时获得的cookies,怎么做??求解答
  • 来宝:大神,cookie过期怎么处理呢?怎么判断是否过期?
  • 来宝:大神,这个cookie具体怎么用呀?setCookie又是在什么地方使用的?
    __西门吹雪:@来宝 怎么弄得?能不能指导一下大哥。?173977958 加我扣扣可以吗?谢谢大哥
    来宝:@__西门吹雪 我已经弄好了,和这个方法有点区别
    __西门吹雪:@来宝 兄弟来交流交流。

本文标题:iOS开发 设置Cookie

本文链接:https://www.haomeiwen.com/subject/aizfkttx.html