Разрешить редирект NSURL? - PullRequest
       41

Разрешить редирект NSURL?

9 голосов
/ 01 апреля 2012

У меня сокращенный URL (например, t.co/12345678). Я хотел бы разрешить перенаправление без необходимости загружать всю страницу через NSURLConnection. Очевидно, я могу получить его, отправив NSURLConnection и ожидая ответа, но при этом сначала загружается вся страница. Я ищу только URL перенаправления. Это возможно? Если да, то как?

=============

Редактировать: для потомков, вот решение, предложенное amleszk.

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:shortenedURL
                                         cachePolicy:NSURLRequestReloadIgnoringCacheData
                                     timeoutInterval:15.0f];

[request setHTTPMethod:@"HEAD"];

[NSURLConnection sendAsynchronousRequest:request
                                   queue:[NSOperationQueue mainQueue]
                       completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
                           NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)response;
                           NSURL *resolvedURL = [httpResponse URL];
                           NSLog(@"%@", resolvedURL);
                       }];

1 Ответ

5 голосов
/ 01 апреля 2012

тот же метод, что и этот: поиск размера загрузки URL (Content-Length)

, но вы хотите, чтобы [NSURLResponse statusCode] = 301/302/303 и заголовок Locationздесь: Получение заголовка "Location" из NSHTTPURLResponse

...