如何检测UIWebView iOS中的重定向

时间:2014-07-29 17:49:43

标签: ios xcode uiwebview api-key

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

以下是我的问题:如果Xcode在(www. _。com / api_success.php?)页面上,我怎么能告诉Xcode执行Javascript来获取身份验证令牌?请记住,URL是特定于用户的,并且在链接的末尾具有用户特定的api密钥。 (www ._ .com / api_success.php?apiconnectkey = 123456789)

先谢谢你的帮助, 技术人员

1 个答案:

答案 0 :(得分:4)

我不确定我是否遵循100%,但这里有一些要注意的事项:

在视图控制器中实现UIWebViewDelegate并设置委托属性,然后实现此消息

 -(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)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视图中设置的每个URL。所以,你可以抓住apiconnectkey。

此外,您可以使用

在页面上执行JavaScript
  [self.webView stringByEvaluatingJavaScriptFromString:@"getToken()"]

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

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