我想用swift构建一个iPhone / iPad iOS应用程序,它可以检查特定的URL,获取和解析HTML页面,但不会暴露UIWebView的Web界面视图。如果HTML视图仅显示用于第一次验证用户,之后每次都以编程方式直接访问页面,我将非常高兴。我认为一个示例应用程序就是MailBuzzr for Hotmail&观。
我需要一种网络刮刀,但在某些情况下,例如http://login.live.com进入非常繁琐,即非常复杂的输入形式,两步验证等等。我刚测试从UIWebView访问我的真实账户,即使需要两步验证,它也能很好地工作。但是,我希望以编程方式实现,而不会将视图暴露给用户或以任何可能的方式伪装。
有没有办法使用UIWebView来做到这一点?替代?
我的代码非常简单:
email_hidden?
PS:我尝试使用Mozilla的Web Developer插件检查实时登录页面,无法理解参数(NAP,ANON,t)及其计算方法。我认为可以做到但是使用UIWebView可能更简单。
答案 0 :(得分:1)
我认为您必须做的一件事是注入一些JavaScript来填充字段并触发登录过程。
您可以使用这样的方法(伪代码):
NSString *javaScript = @"var field = document.getElementsByTagName('#password')[0];
// Set it.
// Trigger the form submission.";
[webView stringByEvaluatingJavaScriptFromString:javaScript];
然后你可以通过获取内容(伪代码)来刮取页面:
NSString *html = [webView stringByEvaluatingJavaScriptFromString: @"document.body.innerHTML"];