我有一个使用 webView 的应用程序。在网站的主屏幕上,我想使用用户在应用程序设置选项中输入的用户名和密码登录。目前我有这个代码,我在这个论坛上提出的类似问题的解决方案中看到了它。但它不起作用(对另一个人也没有)。
-(IBAction)cachepressed:(id)sender{
NSString *baseurl=[[NSUserDefaults standardUserDefaults] stringForKey:@"url_preference"];
NSString *username= [[NSUserDefaults standardUserDefaults] stringForKey:@"name_preference"];
NSString *password= [[NSUserDefaults standardUserDefaults] stringForKey:@"pswrd_preference"];
NSString* content = [NSString stringWithFormat:@"username=%@&password=%@", username, password];
NSData *data=[content dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postlength=[NSString stringWithFormat:@"%d",[data length]];
NSString *loginpage= [baseurl stringByAppendingString:@"/index.php?title=Special:UserLogin"];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:loginpage]];
[request setHTTPMethod:@"POST"];
[request setValue:postlength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody:data];
NSError *error=nil;
NSURLResponse *response=nil;
NSData *result=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSString *HTMLString = [[NSString alloc] initWithData:result encoding:NSUTF8StringEncoding];
[webView loadHTMLString:HTMLString baseURL:[NSURL URLWithString:loginpage]];
}
我不太确定以 [request setValue...] 开头的两行代码。有人可以提出解决方案吗?这将是一个很大的帮助。感谢期待。