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,947評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,349評論 25 708
  • 從三月份找實習到現在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發崗...
    時芥藍閱讀 42,367評論 11 349
  • Spring Boot 參考指南 介紹 轉載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,958評論 6 342
  • 11月14日第4天 終極突破第二關《拖延,死人都比你跑得快》 作業 我知道你感到執行起來很費勁,你還是想拖拉,因為...
    我心依舊_3944閱讀 363評論 0 0