Can an iPhone xcode application read cookies previously stored by Safari Mobile?

前端 未结 8 939
日久生厌
日久生厌 2020-11-28 10:05

Can an iPhone application read cookies previously stored by Safari Mobile?

8条回答
  •  慢半拍i
    慢半拍i (楼主)
    2020-11-28 10:49

    Here's my utils get/set cookie methods.

    
    
    +(void)setCookie:(NSString *)key withValue:(NSString *)value {
        NSArray *keys = [NSArray arrayWithObjects:
                         NSHTTPCookieDomain,
                         NSHTTPCookieExpires,
                         NSHTTPCookieName,
                         NSHTTPCookiePath,
                         NSHTTPCookieValue, nil];
        NSArray *objects = [NSArray arrayWithObjects:
                            @"YOURDOMAIN",
                            [NSDate distantFuture],
                            key,
                            @"/",
                            value, nil];    
        NSDictionary *dict = [NSDictionary dictionaryWithObjects:objects forKeys:keys];
        NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:dict];
        NSHTTPCookieStorage *sharedHTTPCookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
        [sharedHTTPCookieStorage setCookie:cookie];
    }
    
    +(NSString *)getCookie:(NSString *)key {
        NSHTTPCookieStorage *sharedHTTPCookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
        NSArray *cookies = [sharedHTTPCookieStorage cookiesForURL:[NSURL URLWithString:@"YOURDOMAIN"]];
        NSEnumerator *enumerator = [cookies objectEnumerator];
        NSHTTPCookie *cookie;
        while (cookie = [enumerator nextObject])
        {
            if ([[cookie name] isEqualToString:key]) 
            {
                return [cookie value];
            }
        }
        return nil;
    }
    

提交回复
热议问题