我可以使用UITextFields的用户名和密码信息自动登录UIWebView中的网站吗?
我目前正在尝试找到解决此任务的方法。 基本上我有一个初始UIView要求用户的用户名和密码为特定网站,这些信息将过去到下一个视图,其中有一个UIWebView。 我想知道是否可以自动填写网站上的用户名和密码详细信息,并将用户直接发送到他们在网站上的帐户页面。
谢谢。
假设您的网站有div标签,您可以使用stringByEvaluatingJavsScriptFromString注入。
此示例将用户名注入twitter注册页面。 您可以通过在viewDidLoad中加载它来测试它:
NSString *urlString = @"https://mobile.twitter.com/signup"; NSURL *url = [NSURL URLWithString:urlString]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [webView loadRequest:request];
然后在webViewDidFinishLoad中注入用户名:
- (void)webViewDidFinishLoad:(UIWebView *)webView; { [webView stringByEvaluatingJavaScriptFromString:@"var field = document.getElementById('oauth_signup_client_fullname');" "field.value='yourUserName';"]; }
对不起,刚刚意识到你已经有了解决方案,但却错过了实施。 希望以上有所帮助。
顺便提一下,在注入的javascript中添加一个动态变量:
- (void)webViewDidFinishLoad:(UIWebView *)webView; { NSString *injectedVariable = @"userNameHere"; NSString *injectedString = [NSString stringWithFormat:@"var field = document.getElementById('oauth_signup_client_fullname'); field.value='%@';", injectedVariable]; [webView stringByEvaluatingJavaScriptFromString:injectedString]; }
解决方案是使用用户名和密码“伪造”登录请求并将其提供给Web视图。 即你有一个页面index.php,它有一个用户名和密码字段。
如果你填写它们,使用这些参数调用页面login.php。
你可以建立一个
NSString *urlString = @”http://www.yoursite.com/login.php?username=user&password=pass”; NSURL *url = [NSURL URLWithString:urlString]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [webView loadRequest:request];
}
这应该够了吧