サーバー応答で送信されたヘッダーからデータを読み取るにはどうすればよいですか。 NSURLConnectionを使用してリクエストを送信しています。
URLがHTTP URLの場合、接続のデリゲートの-connection:didReceiveResponse:
メソッドで(または別のメソッドを介して)受け取るNSURLResponse
は、NSHTTPURLResponse
になり、- -allHeaderFields
ヘッダーにアクセスできるメソッド。
NSURLResponse* response = // the response, from somewhere
NSDictionary* headers = [(NSHTTPURLResponse *)response allHeaderFields];
// now query `headers` for the header you want
私の場合
NSHTTPURLResponse *response = ((NSHTTPURLResponse *)[task response]);
NSDictionary *headers = [response allHeaderFields];
良いアプローチ
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)[task response];
if ([httpResponse respondsToSelector:@selector(allHeaderFields)]) {
NSDictionary *dictionary = [httpResponse allHeaderFields];
NSLog(@"%@", [dictionary description]);
}