如何使用UIWebView自动抓取需要身份验证的页面?

天空步行者

我想快速构建一个iPhone / iPad iOS应用程序,以检查特定的URL,获取并解析HTML页面,但不公开UIWebView的Web界面视图。如果第一次显示HTML视图只是为了验证用户身份,然后每次以编程方式直接访问该页面,我将感到非常高兴。我认为可以使用的示例应用程序是适用于Hotmail和Outlook的MailBuzzr。

我需要某种Web抓取工具,但在某些情况下,例如http://login.live.com,获得输入非常麻烦,例如,非常复杂的输入表单,两步验证等。我刚刚测试了如何从UIWebView访问真实帐户即使需要两步验证,它也能很好地发挥作用。但是,我希望以编程方式到达那里,而不会将视图暴露给用户或以任何可能的方式将其掩盖。

有没有一种方法可以使用UIWebView来做到这一点?备择方案?

我拥有的代码很简单:

@IBOutlet var Webview: UIWebView!
let url = NSURL(string: "https://account.live.com/")
let request = NSURLRequest(URL: url!)
Webview.loadRequest(request)

PS:我尝试使用Mozilla的Web Developer插件检查实时登录页面,但无法理解参数(NAP,ANON,t)以及它们的计算方式。我认为可以做到,但也许有使用UIWebView的简便方法。

斯科特·麦肯齐(Scott McKenzie)

我认为您必须做的一件事是注入一些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"];

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用UIWebView自动抓取需要身份验证的页面?

来自分类Dev

如何使用自动验证设置Vault JWT身份验证?

来自分类Dev

如何使用Devise对所有页面进行身份验证?

来自分类Dev

如何使用RestKit和WSSE在UIWebView中进行身份验证?

来自分类Dev

如何使某些页面在Symfony中不需要身份验证

来自分类Dev

屏幕抓取:无法使用ASP .NET Forms身份验证进入网站身份验证

来自分类Dev

屏幕抓取:无法使用ASP .NET Forms身份验证进入网站身份验证

来自分类Dev

让Firefox自动接受“需要身份验证”对话框

来自分类Dev

我的Salesforce Visualforce页面不需要身份验证

来自分类Dev

使用Scrapy进行NTLM身份验证以进行网络抓取

来自分类Dev

使用Cookie进行网络抓取进行身份验证?

来自分类Dev

使用请求进行身份验证后的Web抓取

来自分类Dev

需要SMTP身份验证

来自分类Dev

无法在简单的 HTML、JS 页面上使用 firebase 身份验证进行身份验证

来自分类Dev

如何使用HttpClient发布身份验证

来自分类Dev

如何使用Restfull呼叫身份验证

来自分类Dev

如何使用HttpURLconnection进行身份验证

来自分类Dev

如何使用 Laravel 身份验证?

来自分类Dev

如何检查身份验证并使用ui-router自动重定向到登录状态?

来自分类Dev

使用Bigquery的Tableau 8.2,如何执行自动身份验证刷新?

来自分类Dev

如何使用Java自动执行质询-响应身份验证

来自分类Dev

使用Bigquery的Tableau 8.2,如何执行自动身份验证刷新?

来自分类Dev

如何检查身份验证并使用ui-router自动重定向到登录状态?

来自分类Dev

使用Angular.js-如何从需要身份验证的后端提供二进制数据?

来自分类Dev

如何从需要使用Ansbile进行身份验证的网站上获取一些数据?

来自分类Dev

使用密钥环自动使用 wget 进行身份验证

来自分类Dev

如何使用声明身份验证保护SharePoint 2013中的应用程序页面

来自分类Dev

如何使用页面加载失败登录按钮上的Google身份验证用户?

来自分类Dev

如何使用自定义身份验证后端连接django中的管理页面?

Related 相关文章

  1. 1

    如何使用UIWebView自动抓取需要身份验证的页面?

  2. 2

    如何使用自动验证设置Vault JWT身份验证?

  3. 3

    如何使用Devise对所有页面进行身份验证?

  4. 4

    如何使用RestKit和WSSE在UIWebView中进行身份验证?

  5. 5

    如何使某些页面在Symfony中不需要身份验证

  6. 6

    屏幕抓取:无法使用ASP .NET Forms身份验证进入网站身份验证

  7. 7

    屏幕抓取:无法使用ASP .NET Forms身份验证进入网站身份验证

  8. 8

    让Firefox自动接受“需要身份验证”对话框

  9. 9

    我的Salesforce Visualforce页面不需要身份验证

  10. 10

    使用Scrapy进行NTLM身份验证以进行网络抓取

  11. 11

    使用Cookie进行网络抓取进行身份验证?

  12. 12

    使用请求进行身份验证后的Web抓取

  13. 13

    需要SMTP身份验证

  14. 14

    无法在简单的 HTML、JS 页面上使用 firebase 身份验证进行身份验证

  15. 15

    如何使用HttpClient发布身份验证

  16. 16

    如何使用Restfull呼叫身份验证

  17. 17

    如何使用HttpURLconnection进行身份验证

  18. 18

    如何使用 Laravel 身份验证?

  19. 19

    如何检查身份验证并使用ui-router自动重定向到登录状态?

  20. 20

    使用Bigquery的Tableau 8.2,如何执行自动身份验证刷新?

  21. 21

    如何使用Java自动执行质询-响应身份验证

  22. 22

    使用Bigquery的Tableau 8.2,如何执行自动身份验证刷新?

  23. 23

    如何检查身份验证并使用ui-router自动重定向到登录状态?

  24. 24

    使用Angular.js-如何从需要身份验证的后端提供二进制数据?

  25. 25

    如何从需要使用Ansbile进行身份验证的网站上获取一些数据?

  26. 26

    使用密钥环自动使用 wget 进行身份验证

  27. 27

    如何使用声明身份验证保护SharePoint 2013中的应用程序页面

  28. 28

    如何使用页面加载失败登录按钮上的Google身份验证用户?

  29. 29

    如何使用自定义身份验证后端连接django中的管理页面?

热门标签

归档