`
isiqi
  • 浏览: 16067892 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

iPhone开发技巧之私有API(7)--- 用UIWebView访问BASIC认证的页面

 
阅读更多

比如类似下面的 URL,

1
http://user:password@www.example.com/

需要用户的认证,如果用 UIWebView 访问这样的页面,可以使用下面的委托方法。

1
- (void)webView:(id)fp8 resource:(id)fp12 didReceiveAuthenticationChallenge:(id)fp16 fromDataSource:(id)fp20;

具体参数形式如下。

1
2
3
4
- (void)webView:(UIWebView *)webView
                             resource:(NSObject *)resource
    didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
                       fromDataSource:(WebDataSource *)dataSource;

利用第3个参数—认证的Challenge对象(NSURLAuthenticationChallenge)的 sender 方法,红色纸认证的信息。如果认证失败,可以从NSURLAuthenticationChallenge 的 previousFailureCount 中取得失败的次数。

1
2
3
4
- (void)webView:(id)webView resource:(id)resource didReceiveAuthenticationChallenge:(id)challenge fromDataSource:(id)dataSource {
    NSURLCredential *credential = [NSURLCredential credentialWithUser:@"user" password:@"password" persistence:NSURLCredentialPersistenceForSession];
    [[challenge sender] useCredential:credential forAuthenticationChallenge:challenge];
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics