Привет, я разрабатываю одно приложение для iPhone, в котором я хочу установить файлы cookie после ответа сервера и использовать его для другого запроса. Мой сетевой запрос выглядит так.
NSURLSession *session = [NSURLSession sharedSession];
[[session dataTaskWithURL:url completionHandler:^(NSData *data, NSURLResponse *response, NSError *error)
{
NSHTTPURLResponse *httpResp = (NSHTTPURLResponse*) response;
NSLog(@"sttaus code %i", httpResp.statusCode);
if (error) {
[self.delegate signinWithError:error];
}
else {
[self.delegate signinWithJson:data];
}
}] resume];
Но я не знаю, как установить куки. Я знаю, что должен использовать NSHTTPCookieStorage
, но не знаю, как его установить. И я также хочу использовать эти файлы cookie для другого запроса. Есть ли кто-нибудь, кто знает об этом? Нужна помощь. Спасибо.
Смотрите, я пытался таким образом
NSURLSession *session = [NSURLSession sharedSession];
[[session dataTaskWithURL:url completionHandler:^(NSData *data, NSURLResponse *response, NSError *error)
{
if(error) {
[self.delegate signinWithError:error];
}
else {
NSHTTPURLResponse *httpResp = (NSHTTPURLResponse*) response;
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];
NSHTTPCookie *cookie;
NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary];
NSDictionary* headers = [(NSHTTPURLResponse *)response allHeaderFields];
for(NSString *key in [headers allKeys]) {
NSLog(@"%@ ..PPPP ... %@",key ,[headers objectForKey:key]);
[cookieProperties setObject:[headers objectForKey:key] forKey:key];
}
[cookieProperties setObject:[[NSDate date] dateByAddingTimeInterval:2629743] forKey:NSHTTPCookieExpires];
cookie = [NSHTTPCookie cookieWithProperties:cookieProperties];
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
[self.delegate signinWithJson:data];
}
}] resume];
Меня интересует только одно поле заголовка Set-Cookie SSID=kgu62c0fops35n6qbf12anqlo7; path=/