NSURLProtocol类

什么时候使用NSURLProtocol?

** 1、提供自定义的网络响应请求**
无论你使用什么来制作,比如UIWebView,NSURLConnection 甚至第三方库(比如AFNetworking, MKNetworkKit, 自定义的等,这些都是基于NSURLConnection的)。你可以弄个自定义的,既用于数据也用于元数据。你也许会愿意这样做,如果你是用来进行测试 的话。

2、减少网络请求,使用本地数据
有时候你可以会认为为程序提供某些需要的数据来进行网络连接是没必要的。NSURLProtocol可以使你的程序在本地缓存或者数据库中进行数据检索。

3、重定向网络请求
你曾经望过可以将请求重定向到一个代理服务器——不经过用户来允许而让IOS程序定位?恩,这是可以的!NSURLProtocol 为你提供了你所想要的-控制请求。你可以设定你的程序拦截或者重定向它们到另一个服务器或者代理服务器,或者你任何想想连接的。这是绝对的控制!

4、改变用户请求代理
在进行任何网络请求前,你可以决定是否改变它的元数据或者数据。举例来说,你可以改变用户的代理。这对于服务器根据用户代理而改变是很有用的。比如根据用户的使用环境或者客户端语言来返回不同的内容。

5、使用自定义网络协议
你也行有自己的网络协议(比如,一些建立于UDP基础上的)。你可以在程序中实现它,或者你也可以选择使用一些其它你喜欢的网络协议库。

  • 自定义请求和响应
  • 提供自定义的全局缓存支持
  • 重定向网络请求
  • 提供HTTP Mocking(方便前期测试)
  • 其他一些全局的网络请求修改需求

URL Loading System

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,860评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,008评论 25 708
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,351评论 11 349
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,936评论 6 342
  • 11月14日第4天 终极突破第二关《拖延,死人都比你跑得快》 作业 我知道你感到执行起来很费劲,你还是想拖拉,因为...
    我心依旧_3944阅读 363评论 0 0