美文网首页
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