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

Хранение и отправка HTTP файлов cookie, не работающих в приложении PhoneGap

Я разрабатываю приложение PhoneGap в Xcode, которое общается с сервером с помощью веб-api. Api принимает стандартные HTTP-запросы. В рамках процесса аутентификации пользователя установлен файл cookie, который должен быть передан в HTTP-заголовке с каждым последующим запросом на api.

Во время вызова входа в api я могу ясно видеть, что cookie отправляется обратно как часть заголовка ответа. Однако, похоже, он не хранится и не отправляется в заголовок http-запроса с каждым новым вызовом api.

Чтобы выполнить вызовы в api, я использую вызов jQuery $.getJSON.

Я нашел следующий вопрос и ответ: phonegap: аутентификация на основе cookie (PHP) не работает [веб-просмотр]

В приведенном выше ответе предлагается установить NSHTTPCookieStorage cookieAcceptPolicy в NSHTTPCookieAcceptPolicyAlways в делегате приложения init. Я пробовал это, и он, похоже, не решает проблему. Кроме того, согласно документации Apple, по умолчанию cookieAcceptPolicy есть NSHTTPCookieAcceptPolicyAlways.

Приветствуются предложения о том, как получить хранилище файлов cookie и отправку.

4b9b3361

Ответ 1

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

Я сталкивался с подобными проблемами много раз раньше,

Возможные причины:

1) cookie имеет другой домен, который вы отправляете по запросу, возможно, из-за перенаправления... например, если запросы отправляются на http://www.somesite.com, который фактически перенаправляется на http://somesite.com (и это настоящее доменное имя, cookie будет сохранен для sometime.com url/domain и теперь www.somesite.com

2) возможно, что заголовки "только для сеанса" и "срок годности" установлены неправильно в файле cookie, что заставляет хранилище файлов cookie отбрасывать их

Надеюсь, что это поможет, знаете, из опыта хранения файлов cookie может время от времени ломаться.