Прежде всего, есть 3 способа узнать новое соединение URL. (1) NSURLSession (2) NSURLConnection (3) NSURLDownload.Я использую здесь NSURLConnection, чтобы объяснить вам, как это сделать.
(1) Прежде всего выберите ваш URL, который перенаправляет (я выбираю здесь 'http://www.google.com',, потому что он будет перенаправленсначала 'http://www.google.co.in/?gws_rd=cr&ei=LEfeUvCeA8aLrQew04GICQ').Now. Создайте два свойства в файле .h, как показано ниже.
@interface ConfigViewController ()
@property (nonatomic, retain) NSURLRequest *request;
@property (nonatomic, strong, readwrite) NSURLConnection *connection;
@end
(2) Затем синтезируйте ваши свойства в файле .m.
@synthesize request;
@synthesize connection = _connection;
(3) Затем создайте NSURLRequest и NSURLConnection.
- (void)viewDidLoad{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://www.google.com"]];
assert(self.request != nil);
self.connection = nil;
self.connection = [NSURLConnection connectionWithRequest:request delegate:self];
assert(self.connection != nil);
}
assert гарантирует, что ваш подготовленный запрос не будет равен нулю, если он будет равен нулю, то будет отображаться ошибка только в этом месте., затем вы должны убедиться, что вы правильно следуете этому коду.
(4) Теперь, реализуйте эти два делегирования в вашем файле .h - NSURLConnectionDelegate & NSURLConnectionDataDelegate.
@interface WTViewController : UIViewController <NSURLConnectionDelegate, NSURLConnectionDataDelegate>{
IBOutlet UITextView *txtPreviousLbl;
IBOutlet UITextView *txtNextlbl;
}
(5) Затем, внедрите эти 3 метода делегирования в свой файл .m (реализация).
- (NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectedResponse{
NSURLRequest *redirectedRequest = request;
if (redirectedResponse) {
redirectedRequest = nil;
}
NSLog(@"RedirectedRequest:%@",redirectedRequest);
return redirectedRequest;
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{
NSLog(@"error:%@",error);
}
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
NSLog(@"Response:%@",response);
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;
NSDictionary *responseDictionary = [httpResponse allHeaderFields];
NSString *strNewURLLocation = [responseDictionary objectForKey:@"Location"];
NSLog(@"ResponseDictionary:%@",[responseDictionary objectForKey:@"Location"]);
[[NSUserDefaults standardUserDefaults] setObject:strNewURLLocation forKey:@"serverurl"];
NSLog(@"NewURLLocation:%@",[[NSUserDefaults standardUserDefaults] objectForKey:@"serverurl"]);
}
Здесь вы получите новый URL-адрес в [[NSUserDefaults standardUserDefaults] objectForKey: @ "serverurl"], вы можетеиспользуйте NSUserDefaults или NSString to пользователь во всем вашем проекте.Примечание: пожалуйста, не забудьте сделать этот код только в UIViewController.иначе может быть возможно, что ваша делегация не будет работать с другими объектными файлами.Удачного кода ...