Я работал над тем, чтобы выяснить, как получать заголовки HTTP через запрос, сделанный с помощью NSURLConnection. Обычно запрос выполняется с помощью чего-то столь же простого, как следующее:
NSURLConnection *connection = [[NSURLConnection alloc]
initWithRequest:request
delegate:self];
Единственный способ, который я лично нашел в обширной документации Apple для получения заголовков ответов, - это синхронный вызов с использованием следующего метода класса NSURLConnection:
+ (NSData *)sendSynchronousRequest:(NSURLRequest *)request returningResponse:(NSURLResponse **)response error:(NSError **)error
Здесь я могу легко сослаться на объект ответа типа NSURLResponse. Проблема здесь в том, что я не готов делать синхронные запросы через мобильное устройство, особенно в сети с высокой задержкой, такой как EDGE. Можно ли получить аналогичные результаты при асинхронном поведении NSURLConnection по умолчанию?





В делегате подключения добавьте метод -connection:didReceiveResponse:. Если вы выполняете стандартный HTTP-запрос, переданный объект NSURLResponse на самом деле будет объектом NSHTTPURLResponse и будет отвечать на сообщение -allHeaderFields. Это должно быть то, что вы ищете.
Я тоже подумал, что это наша. Теперь я извлек одно поле заголовка, содержащее дополнительную информацию: `Www-Authenticate: Digest realm = \" test \ "qop = \" auth \ "´ и так далее. Есть ли возможность получить / установить эти данные как дополнительный словарь или массив?