Получите заголовки HTTP через NSURLRequest / NSURLConnection в Какао - PullRequest
21 голосов
/ 26 октября 2008

Я работал над выяснением того, как получать заголовки 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 по умолчанию?

1 Ответ

42 голосов
/ 26 октября 2008

В вашем делегате соединения добавьте метод -connection:didReceiveResponse:. Если вы выполняете стандартный HTTP-запрос, переданный объект NSURLResponse фактически будет объектом NSHTTPURLResponse и отвечает на сообщение -allHeaderFields. Это должно быть то, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...