iPhone开发:通过NSURLRequest获得服务器返回的http header和http status(转)

同步访问时的取法

NSURL *url = [NSURL URLWithString:@"http://www.test.com"];
NSURLRequest *request = [NSURLRequest requestWithURL: url];
NSHTTPURLResponse *response;
[NSURLConnection sendSynchronousRequest: request returningResponse: &response error: nil];
if ([response respondsToSelector:@selector(allHeaderFields)]) {
   // 取得所有的请求的头
   NSDictionary *dictionary = [response allHeaderFields];
   NSLog([dictionary description]);
   // 取得http状态码
   
NSLog(@"%d",[responsestatusCode]);

}

 

异步访问时则要实现委托的一个方法

-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse*)response {
   // 注意这里将NSURLResponse对象转换成NSHTTPURLResponse对象才能去
    NSHTTPURLResponse *httpResponse =(NSHTTPURLResponse*)response;
   if ([response respondsToSelector:@selector(allHeaderFields)]) {
       NSDictionary *dictionary = [httpResponse allHeaderFields];
       NSLog([dictionary description]);
        NSLog(@"%d",[responsestatusCode]);

   }
}

原文链接http://www.cnblogs.com/anmog/archive/2011/03/09/1978618.html

原文地址:https://www.cnblogs.com/huanglong/p/3094436.html