【问题标题】:how to open url need username and password with uiwebview?如何使用uiwebview打开url需要用户名和密码?
【发布时间】:2011-08-16 02:26:50
【问题描述】:

我想在 UIWebview 中打开一个需要密码和用户名的 URL。比如打开我本地的Wifi路由器(192.168.1.1)。但是当我尝试以下代码时,没有弹出窗口作为 Safari 需要密码和用户名。

NSURL *url = [NSURL URLWithString:@"http://192.168.1.1"];
NSURLRequest *httpReq = [NSURLRequest requestWithURL:url];
[self._webView loadRequest:httpReq];

由于有人告诉我使用NSURLConnectionDelegate,我知道这一点,但我不知道如何将授权页面显示给UIWebView。

【问题讨论】:

标签: iphone uiwebview


【解决方案1】:

这会有所帮助

NSURL *url = [NSURL URLWithString:@"http://username:password@192.168.1.1"]; NSURLRequest *httpReq = [NSURLRequest requestWithURL:url]; [self._webView loadRequest:httpReq];

【讨论】:

    【解决方案2】:

    你需要在 NSURLConnectionDelegate 中实现 connection:didReceiveAuthenticationChallenge:。有关详细信息,请阅读 Apple“URL 加载系统编程指南”中的 Authentication Challenges 章节。

    【讨论】:

    • 但是如何使用 UIWebview 来加载请求呢?
    【解决方案3】:

    UIWebView 不提供任何机制来识别响应。因此,UIWebViewHttpStatusCodeHandling github 项目中解释了一种解决方案,该项目标识响应的状态代码(在您的情况下应该是 404)。

    但是,主要缺点是对于每个请求,您需要使用 NSURLConnection 并再次加载请求。但是在这种情况下,你也可以取消 NSURLConnection。

    另一个解决方案应该(可能)是使用 Java 脚本。搜索提供响应状态代码的 Java 脚本。

    【讨论】:

      猜你喜欢
      • 2013-07-24
      • 1970-01-01
      • 1970-01-01
      • 2014-04-02
      • 2021-03-15
      • 2018-07-02
      相关资源
      最近更新 更多