您的位置:首页 > 移动开发

73.iOS UIWebView重定向问题处理 RNCachingURLProtocol做缓存出现的重定向问题

2015-09-08 15:20 344 查看
connection: willSendRequest: redirectResponse:这个方法在请求将要被发送出去之前会调用

返回值是一个NSURLRequest,就是那个真正将要被发送的请求

第二个参数request就是被重定向处理过后的请求

第三个参数response是触发重定向请求的响应包.默认是支持跳转的。

- (NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)response

{

NSURLRequest *newRequest = request;

if (response) {

NSLog(@"redirect!!!"); //如,请求google的网站时会有跳转发生

newRequest = nil; //拒绝跳转

}

return newRequest;

}

最让我不解的是

RNCachingURLProtocol这个开源代码为什么对NSURLResponse(即服务器的响应)也做了缓存---这个问题引起了一个我们WebView缓存的重大bug--当NSURLResponse让我们跳转时(我们路由器有一个注册跳转,就是像电影院那样的免费Wifi,但是需要你手机号注册,不注册无法访问网络---坑爹的我缓存了手机号注册界面),于是乎,以后访问该网页都显示缓存的
手机号注册界面
参考了:http://blog.csdn.net/qianlima210210/article/details/17843805
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: