zoukankan      html  css  js  c++  java
  • iOS UIWebView获取403/404

    问题描述

        与WindowsPhone不同,iOS UIWebView并不认为403/404这种情况下页面访问是失败的,这也情有可原,但有时候,我们需要对WebView所遇到的403/404进行处理。

    解决思路

        由于WebView在回调事件,要么发生在NSURLConnection请求之前:

            - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;

            - (void)webViewDidStartLoad:(UIWebView *)webView;

        要么发生在NSURLConnection请求之后:

            - (void)webViewDidFinishLoad:(UIWebView *)webView;

            - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;

        这两种情况下都无法获取状态码,故NSURLConnection必须由我们来完成。然后让WebView调用loadData方式展现页面,而403/403由我们自己处理。

    解决方案

    [python] view plaincopy
    1. #pragma mark -  
    2. #pragma mark - UIWebView Delegate Methods  
    3. - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType  
    4. {  
    5.     static BOOL isRequestWeb = YES;  
    6.       
    7.     if (isRequestWeb) {  
    8.         NSHTTPURLResponse *response = nil;  
    9.           
    10.         NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];  
    11.         if (response.statusCode == 404) {  
    12.             // code for 404  
    13.             return NO;  
    14.         } else if (response.statusCode == 403) {  
    15.             // code for 403  
    16.             return NO;  
    17.         }  
    18.           
    19.         [webView loadData:data MIMEType:@"text/html" textEncodingName:nil baseURL:[request URL]];  
    20.           
    21.         isRequestWeb = NO;  
    22.         return NO;  
    23.     }  
    24.       
    25.     return YES;  
    26. }
  • 相关阅读:
    JS实现倒计时
    jQuery图片展示插件Galleria
    几个常用的方法
    整理了一个多数据库通用操作类
    Oracle 伪列、取前几条记录、日期判断等
    第十九章 10头节点类,中间节点类和尾节点类 简单
    第十八章 38总结 简单
    第十九章 代码重用 6按别名传递book对像 简单
    第十九章 代码重用 3类书类 简单
    第十九章 代码重用 4为图书重载GetAuthor函数 简单
  • 原文地址:https://www.cnblogs.com/zsw-1993/p/4879596.html
Copyright © 2011-2022 走看看