Подтвердить что ты не робот

Аламофир сохраняет файлы cookie автоматически?

Я новичок в Alamofire, поэтому я сожалею, если это вопрос noob: эта структура автоматически сохраняет файлы cookie?

Это потому, что у меня есть простой запрос:

Alamofire.request(.POST, loginURL, parameters: ["fb_id": fbId, "fb_access_token": fbToken])
         .responseJSON { response in
             //print(response.request)  // original URL request                          
             //print(response.response) // URL response
             //print(response.data)     // server data
             //print(response.result)   // result of response serialization

             if let JSON = response.result.value {
                 print("loginURL - JSON: \(JSON)")
             }
         }

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

Это просто особенность? Потому что я ничего не могу найти на официальной странице GitHub.

4b9b3361

Ответ 1

Да! Alamofire в основном представляет собой обертку вокруг NSURLSession. Его менеджер использует по умолчанию NSURLSessionConfiguration, вызывая defaultSessionConfiguration().

Как показывает страница github в разделе Расширенное использование:

Alamofire построен на NSURLSession и в системе загрузки URL-адресов. Чтобы максимально использовать эту структуру, вам рекомендуется ознакомиться с концепциями и возможностями базового сетевого стека.

И в разделе Manager:

Удобные методы верхнего уровня, такие как Alamofire.request, используют общий экземпляр Alamofire.Manager, который настроен с стандартным NSURLSessionConfiguration.

И ссылка NSURLSessionConfiguration для defaultSessionConfiguration() говорит:

Конфигурация сеанса по умолчанию использует постоянный кэш на диске (за исключением случаев, когда результат загружается в файл) и сохраняет учетные данные в цепочке ключей пользователей. Он также хранит файлы cookie (по умолчанию) в том же общем хранилище cookie, что и классы NSURLConnection и NSURLDownload.