【问题标题】:How do you detect a redirect in an UIWebView iOS如何在 UIWebView iOS 中检测重定向
【发布时间】:2014-09-21 05:01:15
【问题描述】:

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

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

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

【问题讨论】:

    标签: ios xcode uiwebview api-key


    【解决方案1】:

    我不确定我是否 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-12
      • 2012-10-25
      • 2023-03-08
      相关资源
      最近更新 更多