2014-04-12 5 views
1

Мне было интересно, как сохранить cookie в Xcode. Я хотел бы использовать файл cookie, который я получаю с одной веб-страницы, и использовать его для доступа к другому. Я использую приведенный ниже код для входа на сайт, и я хотел бы сохранить файл cookie, который я получаю из этого соединения, чтобы использовать его, когда я делаю другое соединение.Сохранение файлов cookie?

NSString *post = [NSString stringWithFormat: @"some data", _username, _password ]; 
// NSLog(@"%@",post); 
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 

NSString *postLength = [NSString stringWithFormat:@"%lu", (unsigned long)[postData length]]; 

NSURL *url=[NSURL URLWithString:@"url"]; 

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; 
[request setURL:url]; 
[request setHTTPMethod:@"POST"]; 
[request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; 
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
[request setHTTPBody:postData]; 

NSData *urlData; 
NSHTTPURLResponse *response; 
NSError *error; 
urlData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 

Update: Благодаря IOS Dev я был в состоянии получить печенье. Код ниже представляет собой цикл for для nslog для всех имен файлов cookie, домена, значения. Чтобы просмотреть все файлы cookie, которые вы в настоящее время хранят.

NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]; 
for (int i = 0; i < [cookies count]; i++) { 
    NSHTTPCookie *cookie = [cookies objectAtIndex:i]; 
    NSLog(@"Cookie Name: %@", [cookie name]); 
    NSLog(@"Cookie Domain: %@", [cookie domain]); 
    NSLog(@"Cookie Value: %@", [cookie value]); 
} 

ответ

1

Когда вы получите ответ обратно обновленные куки будут доступны в NSHttpCookieStorage одной тонны.

Вы можете получить доступ к его

NSArray *cookies = [[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies] 
+0

Ладно спасибо тебе, почему он так много печенья в нем, и как я могу получить тот, который я хочу? –

+0

Когда вы установили соединение с сервером, ваши файлы cookie будут обновляться с новыми файлами cookie. Вам придется перебирать куки, чтобы получить правильный. – Rajesh

Смежные вопросы