美文网首页
iOS NSHTTPCookieStorage应用

iOS NSHTTPCookieStorage应用

作者: 熟睡的毛毛虫 | 来源:发表于2018-11-08 15:43 被阅读31次

    前言

    公司后台的一套接口要在网页和iOS上同时使用,网页那边有cookie,那么我们客户端也得想办法来用cookie了。比如:请求这个接口需要一个参数,把它怼到cookie里就不用以参数形式传进去了。

    正文

    cookie创建

    注意点:有几个key是必须要设置的: NSHTTPCookiePath, NSHTTPCookieName, NSHTTPCookieValue,还有就是NSHTTPCookieOriginURL 和 NSHTTPCookieDomain一定要选一个。开始就因为没有设置NSHTTPCookiePath搞了半天

    NSMutableDictionary *properties = [NSMutableDictionary dictionary];
        [properties setObject:key forKey:NSHTTPCookieName];
        [properties setObject:newValue forKey:NSHTTPCookieValue];
        [properties setObject:domian forKey:NSHTTPCookieDomain];
        [properties setObject:path forKey:NSHTTPCookiePath];
        NSHTTPCookie *cookieuser = [NSHTTPCookie
    cookieWithProperties:properties];
    
    cookie获取
            NSArray *array = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:[NSURL URLWithString:urlString]];
            for (NSHTTPCookie *cookie in array) {
                NSLog(@"-----------cookiename: %@ cookieValue: %@ cookieDomin: %@",cookie.name,cookie.value,cookie.domain);
            }
    
    给指定url设置cookie
                NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary];
                [cookieProperties setObject:@"userId" forKey:NSHTTPCookieName];
                [cookieProperties setObject:loginModel.userId forKey:NSHTTPCookieValue];
                [cookieProperties setObject:networkAuthenModel.domain forKey:NSHTTPCookieDomain];
                [cookieProperties setObject:networkAuthenModel.urlString forKey:NSHTTPCookiePath];
                NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cookieProperties];
                [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
    
    cookie删除
    NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
      NSArray *tempArray = [NSArray arrayWithArray:[cookieStorage cookies]];
      for (NSHTTPCookie *cookiej in tempArray) {
        [cookieStorage deleteCookie:cookie];
      }
    

    结束语

    今天喝水太多了,老是跑厕所。


    参考来源 NSHTTPCookieStorage

    相关文章

      网友评论

          本文标题:iOS NSHTTPCookieStorage应用

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