我一直在努力找出如何通过NSURLConnection发出的请求来接收HTTP标头.通常,请求使用如下简单的内容:
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
我个人在Apple丰富的文档中找到接收响应头的唯一方法是使用以下NSURLConnection类方法通过同步调用:
+ (NSData *)sendSynchronousRequest:(NSURLRequest *)request returningResponse:(NSURLResponse **)response error:(NSError **)error
在这里,我可以轻松地引用NSURLResponse类型的响应对象.这里的问题是我还没准备好通过移动设备发出同步请求,特别是对于具有高延迟的网络,例如EDGE.是否可以使用NSURLConnection的默认异步行为获得类似的结果?
在连接委托中,添加-connection:didReceiveResponse:
方法.如果您正在执行标准HTTP请求,则传入的NSURLResponse对象实际上将是NSHTTPURLResponse对象,并响应该-allHeaderFields
消息.这应该是你正在寻找的.