Intereting Posts
Ошибка с UICollectionViewDataSource в Swift iOS – Дублирующий символ Google Core и Firebase Performance каковы могут быть возможные причины подключения MQTT неожиданно в iOS? NSFetchedResultsController сортирует в неправильном порядке Не удается сохранить двойное значение в базе данных Realm в iOS searchResultsController с UITableViewController скрывает панель навигации, как ее предотвратить? Программно добавить кнопку возврата в UINavigationBar? UIScrollView – способ сделать один вид прокрутки меньше другого? не может выдавать значение UIView типа UIButton Firebase Query больше не работает после автоматического преобразования из Swift 2 в Swift 3 EventKitUI / EKCalendarChooser нужен доступ к контактам – почему? разработка iphone / ipad Как передать данные назад для просмотра управления с помощью модального контроллера Обнаружение того, было ли приложение iOS запущено локальным уведомлением в единстве Как постоянно поворачивать кнопку на 45 градусов при нажатии другой кнопки?

Restkit Basic Auth с http-кодом 405

Я использую следующий код для интерфейса для входа в систему с базовой аутентификацией HTTP.

RKRequest *loginRequest = [[RKRequest alloc] initWithURL:URL]; loginRequest.timeoutInterval = REST_LOGIN_TIMEOUT; loginRequest.username = username; loginRequest.password = password; loginRequest.authenticationType = RKRequestAuthenticationTypeHTTPBasic; loginRequest.method = RKRequestMethodPOST; loginRequest.onDidLoadResponse = ^(RKResponse *response) { // blabla } ....sending request... 

При первом входе в систему он просто работает. Но если я снова сделаю тот же запрос, я получу код статуса HTTP 405. Когда я снова запустил приложение, следующий запрос снова будет работать. Поэтому я думаю, что он автоматически сохраняет некоторые данные, такие как токен сеанса или что-то внутренне. Как я могу сбросить это? Любые намеки?

Он действительно хранит файлы cookie (включая сессионный файл cookie) автоматически из ответов. Чтобы устранить это, используйте следующее:

 NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; for (NSHTTPCookie *cookie in cookieStorage.cookies) { [cookieStorage deleteCookie:cookie]; } 

Вы можете, конечно, сначала проверить файлы cookie, чтобы увидеть, хотите ли вы их удалить или нет.