Reading data from response header of NSURLConnection
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
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]);
}