не уверен, что это все еще актуально, но в случае, если кто-то посчитает это полезным, вот как вы получаете куки после выполнения запроса. Вы должны реализовать селектор connectionDidFinishLoading:
в объекте, который был указан как делегат для NSURLConnection
(self в вашем случае):
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self startImmediately:YES];
в связи с этимDidFinishLoading: селектор, вы можете получить доступ к таким файлам cookie:
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSHTTPCookieStorage * storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSArray * cookies = [storage cookiesForURL:connection.currentRequest.URL];
for (NSHTTPCookie * cookie in cookies)
{
NSLog(@"%@=%@", cookie.name, cookie.value);
// Here you can store the value you are interested in for example
}
}
потом, это сохраненное значение можно использовать в таких запросах:
[request setValue:[NSString stringWithFormat:@"%@=%@", cookieName, cookieValue] forHTTPHeaderField:@"Cookie"];
или более расширенный setAllHTTPHeaderFields:
, но не забывайте использовать правильное значение в поле NSHTTPCookiePath
, подробности см. Здесь
также NSHTTPCookieStorage
имеет селектор -setCookies:forURL:mainDocumentURL:
, который также можно использовать для установки файлов cookie.