我正在尝试通过UIWebView
访问本地网络网址的安全性。当我通过safari访问它时,我收到了身份验证质询,但在我的应用程序UIWebView
中没有出现相同的情况。如何让它出现?
E.g。 http://292.168.1.54/TestWeb/Test.pdf
此网址在Safari浏览器中工作,但同一网址未显示在我的UIWebView
中。
任何指针,示例代码或链接都将非常有用。非常感谢。
答案 0 :(得分:1)
有两种方法可以进行身份验证(在您的情况下可能是基本身份验证)挑战。
-[UIWebViewDelegate webView:shouldStartLoadWithRequest:navigationType:]
会向您提出请求。现在,您只需对同一网址发起第二次请求,并使用[NSURLConnectionDelegate connection:willSendRequestForAuthenticationChallenge:]
来获取质询。然后,您将显示一个对话框并询问用户是否有凭据。将凭据保存在NSURLCredentialStorage
中,然后重新加载页面。
Create a subclass of NSURLProtocol
。与this answer类似,并在那里获得身份验证质询。
答案 1 :(得分:0)
我希望这段代码可以帮到你。
(无效)viewDidLoad中 { [super viewDidLoad]; //从笔尖加载视图后进行任何其他设置。 self.webView.delegate = self;
NSURL *url = [NSURL URLWithString:@"http://skinC.com/abc/"];// here you can write your url that you want to open
NSURLRequest *requestURL = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:requestURL];
AppDelegate *appDel = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[self setNeedsStatusBarAppearanceUpdate];}