作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试通过 UIWebView
访问安全的本地网络 url。当我通过 safari 访问它时,我收到身份验证挑战,但应用程序中的 UIWebView
中没有出现同样的问题。我怎样才能让它出现?
例如http://292.168.1.54/TestWeb/Test.pdf
此 url 在 safari 浏览器中有效,但相同的 url 未出现在我的 UIWebView
中。
任何指针、示例代码或链接都将非常有帮助。非常感谢。
最佳答案
有两种方法可以进行身份验证(在您的情况下可能是基本身份验证)挑战。
-[UIWebViewDelegate webView:shouldStartLoadWithRequest:navigationType:]
会给你请求。现在,您只需启动对同一 URL 的第二个请求,并使用 [NSURLConnectionDelegate connection:willSendRequestForAuthenticationChallenge:]
来获得质询。然后您会显示一个对话框并要求用户提供凭据。将凭据保存在 NSURLCredentialStorage
中,然后重新加载页面。
Create a subclass of NSURLProtocol
处理http和https。类似于 this answer并在那里获得身份验证质询。
关于ios - 如何在 UIWebView 中显示本地网络 url 的身份验证挑战?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28238465/
我是一名优秀的程序员,十分优秀!