В следующих версиях кода я пытаюсь войти в систему moodle через POST. Это работает неплохо, если я оставлю две строки прокомментированными, я могу увидеть веб-страницу после входа в систему. Но когда я пытаюсь перейти к следующей веб-странице, находящейся в защищенной области, я всегда вижу страницу входа.Как я могу добраться до следующей страницы после входа в систему через POST
Так что мой вопрос в том, как я могу перейти на защищенную страницу и отобразить ее в веб-просмотре?
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults synchronize];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[defaults stringForKey:@"loginpage"]]];
[request setHTTPMethod:@"POST"];
NSString *post =[[NSString alloc] initWithFormat:@"username=%@&password=%@",
[defaults stringForKey:@"username"],[defaults stringForKey:@"password"]];
NSLog(@"Post is: %@",post);
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSLog(@"postData is: %@",postData);
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSLog(@"postLength is: %@",postLength);
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody:postData];
NSLog(@"request is: %@", [request allHTTPHeaderFields]);
[self.webview loadRequest:request];
//if i do not comment the next two lines, the loginpage is displayed in the webview.
//Otherwise the correct page with username after login is displayed.
//request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[defaults stringForKey:@"displaypage"]]];
//[self.webview loadRequest:request];
NSLog(@"Done");
, что вы пытаетесь сделать, вы хотите создать веб-браузер для себя. или что-то другое. вот что вы делаете, это загрузка только одного запроса в webview. – Pawan
Я пытаюсь написать простое приложение, которое регистрирует пользователя в системе moodle и отображает защищенный сайт, поэтому вам не нужно всегда запускать свой веб-браузер на своем смартфоне и делать эти клики для себя. – ksome
Есть ли способ, который вы можете подтвердить на сервере, что вы действительно вошли в систему? Кроме того, я использовал NSUTF8StringEncoding для параметров сообщений, не знаю, может ли это быть проблемой. – Merlevede