YIFEIYANG 易飞扬的博客

16六/101

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

  • 博主:易飞扬
  • 原文链接 : http://www.yifeiyang.net/iphone-development-skills-of-the-private-api-7-basic-authentication-with-uiwebview-visit-the-page/
  • 转载请保留上面文字。




  • 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];
    }
    

    相关文章

    评论 (1) 引用 (0)
    1. 很喜欢你的文章,太棒了。。。


    发表评论


    还没有引用.