Parsing cookie, который не имеет знака равенства (=)

Я разрабатываю клиентское приложение. Большинство приложений работают с WebView . Он загружает несколько страниц с веб-сервера.

После авторизации пользователя я получаю все файлы cookie и сохраняю их локально. Затем я поместил эти файлы cookie в webView через CookieManager , CookieSyncManager . После того, как пользователь перешел на определенную страницу, сервер вернет те же файлы cookie, но на этот раз добавит новое значение . С этого времени мне нужно получить эту часть файла cookie и синхронизировать его.

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

Я видел проблемы и решения для обработки файлов cookie. Но то, что возвращает сервер, не похоже на те стандартные пары с парой значений . Вот как выглядит файл cookie

 PHPSESSID=27dd72de72e1643727c4ddb150b2f988; aes_session=a%3A12%3A%7Bs%3A10%3A%22aaaaaaaa%22%3Bs%3A32%3A%22e116b84c302d763a4f759caa5d178455%22%3Bs%3A10%3A%22bbbbbbb%22%3Bs%3A15%3A%22111.111.111.111%22%3Bs%3A10%3A%22user_agent%22%3Bs%3A40%3A%22Apache-HttpClient%2FUNAVAILABLE+%28java+1.4%29%22%3Bs%3A13%3A%22jjjjjjjj%22%3Bi%3A1372138481%3Bs%3A9%3A%22cccccc%22%3Bs%3A0%3A%22%22%3Bs%3A4%3A%22fail%22%3Bs%3A7%3A%22ddddddd%22%3Bs%3A2%3A%22id%22%3Bs%3A2%3A%2231%22%3Bs%3A8%3A%22eeeeee%22%3Bs%3A7%3A%22ffffffff%22%3Bs%3A4%3A%22ggggggg%22%3Bs%3A9%3A%22hhhhhh%22%3Bs%3A7%3A%22%22%3Bs%3A1%3A%221%22%3Bs%3A6%3A%22iiiiii%22%3Bs%3A1%3A 

iiiiii и его следующее значение добавляется в этом примере.

Вопрос в том, есть ли какие-либо парсеры для работы с этим куки-файлом или мне нужно думать о написании какого-то regEx? Спасибо за помощь!

Спецификация ( RFC 6265 ) говорит, что файлы cookie – это пары имени-значения. Согласно синтаксису в RFC знак равенства ('=') является обязательным.

Поэтому спорный вопрос, будет ли реализация справиться с отсутствующим знаком равенства символов. Неверный файл cookie без знака равенства. Ваше приложение … или что бы то ни было, это настройка этих файлов cookie … нарушена и должна быть исправлена.


FWIW, если вы хотите указать пару имя / значение с пустым значением, законно не иметь ничего между равными ('=') и точкой с запятой (';') или концом строки cookie. Но спецификация говорит, что '=' является обязательным.


(Тем не менее, то, что озадачивает меня в этом вопросе, заключается в том, что в примере cookie нет примера отсутствующего «=» …)