Использование независимых экземпляров NSHTTPCookieStorage в одном приложении
Взявшись за написание сетевой программы на Swift, я столкнулся с проблемой того, как расшарить куки между разными экземплярами NSURLSession, чтобы при этом была возможность в разных местах использовать разные хранилища (хранить несколько сессий) Казалось бы, создавай свое хранилище и используй, свойство NSURLSessionConfiguration.HTTPCookieStorage доступно на запись
1 2 3 4 5 6 7 8 9 |
let customCookiesStorage = NSHTTPCookieStorage() let config = NSURLSessionConfiguration.defaultSessionConfiguration() config.HTTPCookieStorage = customCookiesStorage let session = NSURLSession(configuration: config, delegate: nil, delegateQueue: nil) let request = NSURLRequest(URL: NSURL(string: "https://ya.ru")!) let task = session.dataTaskWithRequest(request) task.resume() sleep(3) print("all cookies count: \(session.configuration.HTTPCookieStorage?.cookies?.count)") |
Но практика показала, что если хранилище создается вручную, оно не рабочее. В консоли нас… Читать далее »