Мне было интересно, как сохранить 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]);
}
Ладно спасибо тебе, почему он так много печенья в нем, и как я могу получить тот, который я хочу? –
Когда вы установили соединение с сервером, ваши файлы cookie будут обновляться с новыми файлами cookie. Вам придется перебирать куки, чтобы получить правильный. – Rajesh