从UIWebView或其他登录请求后获取cookie的方法
NSHTTPCookieStorage *myCookie = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:[myCookie cookies]];
[[NSUserDefaults standardUserDefaults] setObject:data forKey:kDeviceCookie];
NSLog(@"COOKIE-------------------%@",[NSString stringWithFormat:@"%@",[myCookie cookies]]);
[[NSUserDefaults standardUserDefaults] synchronize];
-(void)setCookieRequest
{
//将cookie重新写入请求体里
NSData *cookiesdata = [[NSUserDefaults standardUserDefaults] objectForKey:kDeviceCookie];
if([cookiesdata length]) {
NSArray *cookies = [NSKeyedUnarchiver unarchiveObjectWithData:cookiesdata];
NSHTTPCookie *cookie;
for (cookie in cookies) {
NSArray *headeringCookie = [NSHTTPCookiecookiesWithResponseHeaderFields:
[NSDictionary dictionaryWithObject:
[[NSString alloc] initWithFormat:@"%@=%@",[cookie name],[cookie value]]
forKey:@"Set-Cookie"]
forURL:[NSURL URLWithString:cookie.domain]];
// 通过setCookies方法,完成设置,这样只要一访问URL为HOST的网页时,会自动附带上设置好的header
[[NSHTTPCookieStorage sharedHTTPCookieStorage]setCookies:headeringCookie
forURL:[NSURL URLWithString:cookie.domain]
mainDocumentURL:nil];
}
}
}
}
-(void)setCookieRequest
{
//将cookie重新写入请求体里
NSData *cookiesdata = [[NSUserDefaults standardUserDefaults] objectForKey:kDeviceCookie];
if([cookiesdata length]) {
NSArray *cookies = [NSKeyedUnarchiverunarchiveObjectWithData:cookiesdata];
NSHTTPCookie *cookie;
for (cookie in cookies) {
NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary];
[cookieProperties setObject:cookie.name forKey:NSHTTPCookieName];
[cookieProperties setObject:cookie.value forKey:NSHTTPCookieValue];
[cookieProperties setObject:cookie.domain forKey:NSHTTPCookieDomain];
[cookieProperties setObject:cookie.path forKey:NSHTTPCookiePath];
[cookieProperties setObject:@"0" forKey:NSHTTPCookieVersion];
[cookieProperties setValue:[NSDate dateWithTimeIntervalSinceNow:60*60] forKey:NSHTTPCookieExpires];
NSHTTPCookie *cookie1 = [NSHTTPCookie cookieWithProperties:cookieProperties];
// NSLog(@"==========================%@=============%@",cookie,cookie1);
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie1];
}
}
}