通过NSURLConnection sendAsynchronousRequest获取http标头

时间:2014-06-26 22:59:08

标签: objective-c asynchronous http-headers nsurlconnection

如何使用sendAsynchronousRequest获取http标头?请注意,URLRequest的目标URL仅设置标头。当我使用sendSynchronousRequest时,我可以使用NSURLHTTPResponse对象获取http标头。但是,在sendAsynchronousRequest中,只有一个NSURLResponse对象。我使用了以下强制转换策略将NSURLResponse转换为sendAsynchronousRequest方法中的NSURLHTTPResponse。但是这不起作用,阻塞主线程而不产生任何错误或异常。\

[NSURLConnection sendAsynchronousRequest:request queue:[[NSOperationQueue alloc] init] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error)
 {

    NSHTTPURLResponse *hResponse = (NSHTTPURLResponse*) response;
             if ([hResponse respondsToSelector:@selector(allHeaderFields)]) {
                 NSDictionary *dictionary = [hResponse allHeaderFields];
                 _myHeader = [dictionary objectForKey:@"myHeader"];
             }
 }

如果我不使用上面的代码,则没有阻止。我还注意到sendAsynchronousRequest返回的NSData长度为零。请帮忙

0 个答案:

没有答案