我正在尝试从NSHTTPCookieStorage中获取一个cookie,并将其用于我的应用程序中的另一个网址。我正在从NSHTTPCookieStorage复制cookie,然后使用复制的cookie在NSHTTPCookieStorage中为不同的网址设置cookie。我正在尝试遵循代码,但是当我打印出另一个URL的cookie时,却没有任何cookie。
// authCookie is a cookie already in NSHTTPCookieStorage.
NSURL *searchURL = [NSURL URLWithString:searchURLString];
NSDictionary *authCookieProperties = [[[authCookie properties] copy] autorelease];
NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionaryWithDictionary:authCookieProperties];
[cookieProperties setObject:searchURL forKey:NSHTTPCookieDomain];
[cookieProperties setObject:searchURL forKey:NSHTTPCookieOriginURL];
NSHTTPCookie *searchCookie = [NSHTTPCookie cookieWithProperties:cookieProperties];
[sharedHTTPCookieStorage setCookie:searchCookie];
[sharedHTTPCookieStorage setCookies:[NSArray arrayWithObject:searchCookie]
forURL:searchURL
mainDocumentURL:nil];
NSLog(@"Cookies for search = %@", [sharedHTTPCookieStorage cookiesForURL:searchURL]);
NSLog(@"All Cookies = ");
NSHTTPCookieStorage *cookieJar = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie *cookie in [cookieJar cookies]) {
NSLog(@"%@", cookie);
}
/*
Console Output (With URL and cookie values hidden):
Cookies for search = ()
All Cookies =
<NSHTTPCookie version:0 name:"auth_token" value:"COOKIEVALUE" expiresDate:(null) created:2001-01-01 00:00:01 +0000 (1) sessionOnly:TRUE domain:"<search_url>" path:"/" isSecure:FALSE>
<NSHTTPCookie version:0 name:"auth_token" value:"COOKIEVALUE" expiresDate:(null) created:2012-05-14 17:59:36 +0000 (3.58711e+08) sessionOnly:TRUE domain:"<URL_of_auth_cookie>" path:"/" isSecure:FALSE>
*/发布于 2012-05-28 21:26:51
如果您在新cookie中提供的值足够好,则必须保留tab,因为根据Apple参考,如果初始化值在任何特定方式下无效,则应返回nil。你可以在这里的这个link上进一步查看。它有一种相当好的从头开始创建cookie的方式!
https://stackoverflow.com/questions/10588909
复制相似问题