Я использую асинхронный NSURLConnection для соединения с веб-сайтом от iPhone. Дескриптор didReceiveResponse активируется на ответе, и я пытаюсь получить все cookie, при помощи allHeaderFields от NSHTTPURLResponse
Я вижу много hreader, но никакой Cookie Набора - похоже, что средство моделирования iPhone просто игнорирует их... И я уверен, что cookie присутствуют в ответ - шоу монитора сети, которые они представляют
Я не использую http устройства хранения данных - все, что я пытаюсь сделать, должен распечатать для входа всего заголовка - и не видят информацию о cookie
Кто-либо знает об этой проблеме?
ОБНОВЛЕНИЕ я сделал некоторое исследование: если мой веб-сайт возвращает пользовательский заголовок, как "Пользовательский Заголовок: значение" - затем этот заголовок видим в клиенте Java, но не находится в iPhone...
спасибо
Попробуйте следующее: в вашем NSMutableURLRequest
, вы должны указать ему обрабатывать cookies:
[request setHTTPShouldHandleCookies:YES];
Не знаю, имеет ли это значение в приложениях, но какой параметр Accept Cookies установлен для Safari в приложении Settings. Посмотрите, имеет ли значение изменение на "Всегда".
Согласно некоторым сайтам, которые я видел, требуется полная перезагрузка iPhone, чтобы эта настройка имела какой-либо эффект.
Попробуйте найти его в общем хранилище файлов cookie HTTP:
for (NSHTTPCookie *cookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies])
{
NSLog(@"name: '%@'\n", [cookie name]);
NSLog(@"value: '%@'\n", [cookie value]);
NSLog(@"domain: '%@'\n", [cookie domain]);
NSLog(@"path: '%@'\n", [cookie path]);
}
или при работе в Swift:
for cookie in HTTPCookieStorage.shared.cookies!
{
NSLog("name: \(cookie.name)")
NSLog("value: \(cookie.value)")
NSLog("domain: \(cookie.name)")
NSLog("path: \(cookie.path)")
}