Asynchronously send a HEAD request to the URL in question, and then simply access the allHeaderFields property in HTTPURLResponse / NSHTTPURLResponse .
Swift 4
var request = URLRequest(url: URL(string: "https://google.com/")!) request.httpMethod = "HEAD" let task = URLSession.shared.dataTask(with: request) { data, response, error in guard let response = response as? HTTPURLResponse, let headers = response.allHeaderFields as? [String: String] else { return } } task.resume()
Objective-c
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://google.com"]]; [request setHTTPMethod:@"HEAD"]; [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) { NSDictionary *headers = [(NSHTTPURLResponse *)response allHeaderFields]; }];
source share