0

zu erhalten Ich habe unter Code verwendet, um auch Antwort und Header-Felder zu erhalten.Nicht in der Lage, Headerfelder von URL

NSMutableURLRequest *NSRequest; 
    NSRequest = [[NSMutableURLRequest alloc] init]; 
    [NSRequest setURL:[NSURL URLWithString:@"http://72.52.65.142:8083/auth"]]; 
    [NSRequest setHTTPMethod:@"HEAD"]; 

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

     NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)response; 
     if ([response respondsToSelector:@selector(allHeaderFields)]) { 
      NSDictionary *dictionary = [httpResponse allHeaderFields]; 
      NSLog(@"%@", dictionary); 
     } 
    }]; 

Aber die Protokolle, die ich bekomme, ist null.

Wie erhalten Header Felder von oben Anfrage?

+0

Versuchen Sie diese http://stackoverflow.com/questions/4809047/nsurlrequest-setting-the-http-header – nynohu

Antwort

0

Bei einer asynchronen Anforderung müssen Sie den Rückruf zu connection:didReceiveResponse: verwenden. verwenden NSURLResponse den zweiten Parameter, wirft es auf ein NSHTTPURLResponse wie unten allHeaderFields zu erhalten:

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { 

    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)response; 

    if ([response respondsToSelector:@selector(allHeaderFields)]) { 

     NSDictionary *dictionary = [httpResponse allHeaderFields]; 
     NSLog([dictionary description]); 

    } 
} 

Versuche und überprüfen, ob es helfen!