美文网首页ios开发
iOS--原生与h5交互之cookie方法封装

iOS--原生与h5交互之cookie方法封装

作者: dequal | 来源:发表于2017-06-08 18:02 被阅读340次

    封装的工具类:

    +(NSHTTPCookie*)cookieMakerWithName:(NSString*)name value:(NSString*)value Domain:(NSString*)domain path:(NSString*)path{
        if ([name isEqualToString:EMPTYSTRING] || [value isEqualToString:EMPTYSTRING]) {
            return nil;
        }
        NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary];
        [cookieProperties setObject:name forKey:NSHTTPCookieName];
        [cookieProperties setObject:value forKey:NSHTTPCookieValue];
        [cookieProperties setObject:domain forKey:NSHTTPCookieDomain];
        [cookieProperties setObject:domain forKey:NSHTTPCookieOriginURL];
        [cookieProperties setObject:path forKey:NSHTTPCookiePath];
        [cookieProperties setObject:@"1" forKey:NSHTTPCookieVersion];
        NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cookieProperties];
        return cookie;
    }
    
    +(NSArray*)cookieMakerWithValueDic:(NSDictionary*)valueDic Domain:(NSString*)domain path:(NSString*)path{
        if ([valueDic isEqual:@{}]) {
            return nil;
        }
        NSMutableArray *cookieArray = [NSMutableArray array];
        for (NSString* key in valueDic) {
            NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary];
            [cookieProperties setObject:key forKey:NSHTTPCookieName];
            [cookieProperties setObject:[valueDic objectForKey:key] forKey:NSHTTPCookieValue];
            [cookieProperties setObject:domain forKey:NSHTTPCookieDomain];
            [cookieProperties setObject:domain forKey:NSHTTPCookieOriginURL];
            [cookieProperties setObject:path forKey:NSHTTPCookiePath];
            [cookieProperties setObject:@"1" forKey:NSHTTPCookieVersion];
            NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cookieProperties];
            [cookieArray addObject:cookie];
        }
        
        return cookieArray;
    }
    

    工具的调用:

    #pragma mark - setCookie
    - (void)setCookie {
        
        NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
        NSDictionary *cookieValueDic = [NSDictionary dictionaryWithObjectsAndKeys:
                                        @"value1",@"key1",
                                        @"value2",@"key2",
                                        @"value3",@"key3",
                                        nil];
        NSArray *cookieArray = [VATool cookieMakerWithValueDic:cookieValueDic Domain:self.urlHost path:@"/"];
        for (NSHTTPCookie *cookie in cookieArray) {
            [cookieStorage setCookie:cookie];
        }
        
        [self.webView reload];
    }
    

    相关文章

      网友评论

        本文标题:iOS--原生与h5交互之cookie方法封装

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