我正在做一个简单的登录,并注意到在重定向期间,我只有 3 个必需的 cookie 中的 2 个才能正确进入。我捕获了另一个 cookie 并将它们放在一起,但由于某种原因我不能即时修改标题?
- (NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSHTTPURLResponse *)response {
NSURL* redirected_url = [request URL];
NSString* querystr = [redirected_url absoluteString];
if (response != nil) {
NSArray* zzzz = [NSHTTPCookie
cookiesWithResponseHeaderFields:[response allHeaderFields]
forURL:[NSURL URLWithString:@""]];
if ([zzzz count] > 0) {
if ([querystr isEqualToString:@"https://www.localhost.com/specificurl.aspx"]) {
NSMutableArray* actualCookies = [[NSMutableArray alloc] init];
NSHTTPCookie* obj = [self.tmpCookies objectAtIndex:0];
[actualCookies addObject:obj];
[actualCookies addObject:zzzz];
NSArray* authToken = [[NSArray alloc] initWithArray:actualCookies];
//BLOWS UP HERE ?? NSDictionary* headers = [NSHTTPCookie requestHeaderFieldsWithCookies:authToken];
//[request setAllHTTPHeaderFields:authToken];
[viewController setAuthCookieAfterValidLogin:zzzz];
}
}
}
return request;
}
总体思路是将此标头设置为具有我的组合 cookie 的值