OStack程序员社区-中国程序员成长平台

标题: ios - 如何在 UIWebView iOS 中检测重定向 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 08:46
标题: ios - 如何在 UIWebView iOS 中检测重定向

我正在将 Xcode 用于社交媒体网站,我对登录/注册过程有一个快速了解。例如,我有一个链接到登录 API 页面的 UIWebView。 (例如 www._.com/api_login.php?)当用户在该页面上使用他们的凭据登录时,网站会将他们重定向到成功页面 (www._.com/api_success.php ?) 使用存储在 iOS 应用程序中的 API 身份验证 token ,用于嵌入网站源代码中的用户特定任务。

这是我的问题:一旦身份验证 token 位于 (www._.com/api_success.php?) 页面上,我如何告诉 Xcode 执行 Javascript 来获取身份验证 token ?请记住,该 URL 是特定于用户的,并且在链接末尾有一个用户特定的 api key 。 (www._.com/api_success.php?apiconnectkey=123456789)

在此先感谢您的帮助, 技术专家



Best Answer-推荐答案


我不确定我是否 100% 关注,但这里有一些值得关注的地方:

在您的 View Controller 中实现 UIWebViewDelegate 并设置委托(delegate)属性,然后实现此消息

 -(BOOL)webViewUIWebView *)webView shouldStartLoadWithRequestNSURLRequest *)request navigationType:

文档

https://developer.apple.com/library/ios/documentation/uikit/reference/UIWebViewDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UIWebViewDelegate/webView:shouldStartLoadWithRequest:navigationType :

这将让您看到在 Web View 中设置的每个 URL。所以,你可以捕获 apiconnectkey。

此外,您可以在页面上执行 JavaScript

  [self.webView stringByEvaluatingJavaScriptFromString"getToken()"]

其中 getToken() 是页面上的一个函数。这将返回一个字符串。

https://developer.apple.com/library/ios/documentation/uikit/reference/UIWebView_Class/Reference/Reference.html

关于ios - 如何在 UIWebView iOS 中检测重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25021817/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4