美文网首页
NSURLProtocol小记

NSURLProtocol小记

作者: lmfei | 来源:发表于2019-10-15 11:14 被阅读0次

what?

NSURLProtocol能够让我们去重新定义苹果的URL Loading System

URL Loading System

如上图,这个Request会被我们NSURLProtocol拦截,从而我们就可以进行一些处理

在使用中,不应该直接去实例化一个NSURLProtocol,而是需要去使用该类的子类,并需要注册


where?

重定向网络请求

可以拦截UIWebView、基于系统的NSURLConnection或者NSUSLSession进行的网络请求,做网络缓存,目前WKWebView不会被拦截

拦截图片加载请求,使用本地图片

过滤非法请求


use?

生成一个NSURLProtocol的子类,实现主要方法

canInitWithRequest:判断request是否需要被拦截,默认返回NO,不需要

canonicalRequestForRequest:返回一个request

startLoading:开始Loading,在此方法中进行拦截

stopLoading:介绍Loading


Tip?

自定义多个NSURLProtocol子类A,B,A先注册、B后注册,先执行B的canInitWithRequest,如果返回YES,request被B拦截,如果B返回NO,则再执行A的canInitWithRequest!

相关文章

网友评论

      本文标题:NSURLProtocol小记

      本文链接:https://www.haomeiwen.com/subject/kmnjmctx.html