iPhone NSURL获取最后重定向的URL

Min*_*ael 4 iphone url redirect

我想知道如何将您的NSURL更新为您的网址将
使用NSURL或NSRequest 重定向到的最后一个网址

感谢您的帮助.谢谢.

小智 7

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;
Run Code Online (Sandbox Code Playgroud)

  • 这可能更适合作为评论而不是答案.或者也许是编辑. (3认同)

Min*_*ael 6

我做的,

这是怎么回事

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];
Run Code Online (Sandbox Code Playgroud)


Ben*_*ieb 1

只有在尝试使用 NSURLConnection 进行连接后才能发现这一点。如果您向 NSURLConnection 委托添加一个方法 -connection:willSendRequest:redirectResponse:,您将在重定向发生之前收到通知。只需从传递的请求中获取 URL,这就是您的答案。