Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Reading data from response header of NSURLConnection

How can I read the data from the header sent by in the server response. I am using NSURLConnection to send the request.

like image 666
Abhinav Avatar asked Jun 08 '11 00:06

Abhinav


2 Answers

If the URL is an HTTP URL, then the NSURLResponse that you receive in your connection's delegate's -connection:didReceiveResponse: method (or via another method) will be an NSHTTPURLResponse, which has an -allHeaderFields method that lets you access the headers.

NSURLResponse* response = // the response, from somewhere
NSDictionary* headers = [(NSHTTPURLResponse *)response allHeaderFields];
// now query `headers` for the header you want
like image 191
John Calsbeek Avatar answered Oct 21 '22 18:10

John Calsbeek


In my case

    NSHTTPURLResponse *response = ((NSHTTPURLResponse *)[task response]);
    NSDictionary *headers = [response allHeaderFields];

Good Approach

    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)[task response];
    if ([httpResponse respondsToSelector:@selector(allHeaderFields)]) {
         NSDictionary *dictionary = [httpResponse allHeaderFields];
         NSLog(@"%@", [dictionary description]);
    }
like image 39
Ali Avatar answered Oct 21 '22 19:10

Ali