iPhone NSURL получает последний перенаправленный URL - PullRequest
4 голосов
/ 23 декабря 2009

Интересно, как вы можете обновить свой NSURL до последнего URL, на который ваш URL будет перенаправлен
? используя NSURL или NSRequest

ценю вашу помощь. спасибо.

Ответы [ 3 ]

7 голосов
/ 03 октября 2014
Решение

zanque работает, но чтобы избежать загрузки «бесполезных» данных, я бы изменил http-метод на HEAD:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:orinigalURL cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:15.0];
[request setHTTPMethod:@"HEAD"];
NSURLResponse *response = nil;
[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
NSURL *finalURL = response.URL;
6 голосов
/ 23 декабря 2009

я это сделал,

вот как

NSURL *originalUrl=[NSURL URLWithString:@"http://YourURL.com"];
NSData *data=nil;  
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:originalUrl cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:10];
NSURLResponse *response;
NSError *error;
data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSURL *LastURL=[response URL];
[request release];
[error release];
1 голос
/ 23 декабря 2009

Вы сможете узнать это только после попытки подключения с использованием NSURLConnection. Если вы добавите метод к вашему делегату NSURLConnection, -connection: willSendRequest: redirectResponse:, вы будете уведомлены до того, как произойдет перенаправление. Просто возьмите URL из переданного запроса, и это ваш ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...