Я получаю доступ к защищенной информации сервера и отправляет кучу файлов cookie в приложение по запросу. Проблема в том, некоторые из куки только сессии, и когда я использую:Доступ к сеансовым файлам с помощью NSHTTPCookieStorage
[NSHTTPCookie requestHeaderFieldsWithCookies:[[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:[NSURL URLWithString:theCookie]]
он не возвращает сессионные те, с именем JSESSIONID и вызывает вопросы. Если я NSLog полный NSHTTPCookieStorage, он отображает сессионные, чтобы они были там, я просто не могу найти способ извлечь их из хранилища. Кроме того, я просмотрел панель cookie, и файлы cookie сеанса не хранятся там, но я предполагаю, что это связано с тем, что они основаны на сеансах.
Любая помощь приветствуется.
Edit: Это фрагмент того, что я получаю, когда я прошу всех печенье:
<NSHTTPCookie version:0 name:@\"TheNameOfTheCookie\" value:@\"A variable number\" expiresDate:@\"(null)\" created:@\"301196844.000000\" sessionOnly:TRUE domain:@\"THE URL\" path:@\"/\" secure:FALSE comment:@\"(null)\" commentURL:@\"(null)\" portList:[]>
<NSHTTPCookie version:0 name:@\"JSESSIONID\" value:@\"A variable number\" expiresDate:@\"(null)\" created:@\"301196866.000000\" sessionOnly:TRUE domain:@\"The Same URL as above\" path:@\"/path\" secure:FALSE comment:@\"(null)\" commentURL:@\"(null)\" portList:[]>
Теперь, когда я прошу печенье на основе URL в вышеуказанном печенье, первый один получает возвращенный, вторые нет.
* обратите внимание, извините о том, чтобы удалить определенные элементы, они, как ожидается, и не имеют отношения к вопросу
без фактических значений url или полученных значений (для моя часть 'tr/a-z/z-a /' them ...) мы можем только догадываться: может ли это быть проблемой случая? Некоторые веб-серверы не чувствительны к регистру, в то время как в остальном мире нет. Не могли бы вы привести самодостаточный пример, который показывает поведение? – mvds
Ну, а не проблема с сервером, поскольку фактическое Cookie не возвращается из хранилища, я думаю, что это может быть проблема именования, поскольку есть несколько записей JSESSIONID. Я даже вручную ввел файл cookie с похожими данными, но с другим URL-адресом и не смог получить его. Имел одно и то же имя, JSESSIONID. – Rudiger