#define kGetURL @”http://api.map.baidu.com/place/v2/search?query=銀行®ion=上海&output=json&ak=6E823f587c95f0148c19993539b99295″
#define kPostURL @”http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx”
#define kPostParam @”date=20131129&startRecord=1&len=30&udid=1234567890&terminalType=Iphone&cid=213″
#define kImageURL @”http://image.zcool.com.cn/56/13/1308200901454.jpg”
NSURLRequest初始化方法
第一個參數:請求訪問路徑
第二個參數:緩存策略
第三個參數:網絡請求超時時間(秒)
其中緩存協議是個枚舉類型包含:
NSURLRequestUseProtocolCachePolicy(默認的緩存策略, 如果緩存不存在,直接從服務端獲取。如果緩存存在,會根據response中的Cache-Control字段判斷下一步操作,如: Cache-Control字段為must-revalidata, 則詢問服務端該數據是否有更新,無更新的話直接返回給用戶緩存數據,若已更新,則請求服務端)
NSURLRequestReloadIgnoringLocalCacheData(忽略本地緩存)
NSURLRequestReturnCacheDataElseLoad(首先使用緩存,如果沒有本地緩存,才從原地址下載)
NSURLRequestReturnCacheDataDontLoad(使用本地緩存,從不下載,如果本地沒有緩存,則請求失敗,此策略多用於離線操作)
NSURLRequestReloadIgnoringLocalAndRemoteCacheData(無視任何緩存策略,無論是本地的還是遠程的,總是從原地址重新下載)
NSURLRequestReloadRevalidatingCacheData(如果本地緩存是有效的則不下載,其他任何情況都從原地址重新下載)
補充:
1.NSURLRequestUseProtocolCachePolicy NSURLRequest 默認的cache policy,使用Protocol協議定義。
2.NSURLRequestReloadIgnoringCacheData 忽略緩存直接從原始地址下載。
3.NSURLRequestReturnCacheDataDontLoad 只使用cache數據,如果不存在cache,請求失敗;用於沒有建立網絡連接離線模式
4.NSURLRequestReturnCacheDataElseLoad 只有在cache中不存在data時才從原始地址下載。
5.NSURLRequestReloadIgnoringLocalAndRemoteCacheData 忽略本地和遠程的緩存數據,直接從原始地址下載,與NSURLRequestReloadIgnoringCacheData類似。
6.NSURLRequestReloadRevalidatingCacheData :驗證本地數據與遠程數據是否相同,如果不同則下載遠程數據,否則使用本地數據