欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS的HTTP請求和請求回執(zhí)類用法小結(jié)

 更新時間:2016年06月22日 09:16:19   作者:琿少  
這里為大家整理了iOS的HTTP請求和請求回執(zhí)類用法小結(jié),包括發(fā)送請求的NSURLRequest、NSMutableURLRequest和負責回復的NSURLResponse類的常用方法和屬性,需要的朋友可以參考下

請求類NSURLRequest
NSURLRequest類中常用方法和屬性總結(jié):

//通過類方法創(chuàng)建默認的請求對象
/*
通過這種方式創(chuàng)建的請求對象 默認使用NSURLRequestUseProtocolCachePolicy緩存邏輯 默認請求超時時限為60s
*/
+ (instancetype)requestWithURL:(NSURL *)URL;
//返回一個BOOL值 用于判斷是否支持安全編碼
+ (BOOL)supportsSecureCoding;
//請求對象的初始化方法 創(chuàng)建時設置緩存邏輯和超時時限
+ (instancetype)requestWithURL:(NSURL *)URL cachePolicy:(NSURLRequestCachePolicy)cachePolicy timeoutInterval:(NSTimeInterval)timeoutInterval;
//init方法進行對象的創(chuàng)建 默認使用NSURLRequestUseProtocolCachePolicy緩存邏輯 默認請求超時時限為60s
- (instancetype)initWithURL:(NSURL *)URL;
//init方法進行對象的創(chuàng)建
- (instancetype)initWithURL:(NSURL *)URL cachePolicy:(NSURLRequestCachePolicy)cachePolicy timeoutInterval:(NSTimeInterval)timeoutInterval;
//只讀屬性 獲取請求對象的URL
@property (nullable, readonly, copy) NSURL *URL;
//只讀屬性 緩存策略枚舉
/*
NSURLRequestCachePolicy枚舉如下:
typedef NS_ENUM(NSUInteger, NSURLRequestCachePolicy)
{
    //默認的緩存協(xié)議
    NSURLRequestUseProtocolCachePolicy = 0,
    //無論有無本地緩存數(shù)據(jù) 都進行從新請求
    NSURLRequestReloadIgnoringLocalCacheData = 1,
    //忽略本地和遠程的緩存數(shù)據(jù) 未實現(xiàn)的策略
    NSURLRequestReloadIgnoringLocalAndRemoteCacheData = 4,
    //無論有無緩存數(shù)據(jù) 都進行從新請求
    NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData,
    //先檢查緩存 如果沒有緩存再進行請求
    NSURLRequestReturnCacheDataElseLoad = 2,
    //類似離線模式,只讀緩存 無論有無緩存都不進行請求
    NSURLRequestReturnCacheDataDontLoad = 3,
    //未實現(xiàn)的策略
    NSURLRequestReloadRevalidatingCacheData = 5, // Unimplemented
};
*/
@property (readonly) NSURLRequestCachePolicy cachePolicy;
//只讀屬性 獲取請求的超時時限
@property (readonly) NSTimeInterval timeoutInterval;
//主文檔地址 這個地址用來存放緩存
@property (nullable, readonly, copy) NSURL *mainDocumentURL;
//獲取網(wǎng)絡請求的服務類型 枚舉如下
/*
typedef NS_ENUM(NSUInteger, NSURLRequestNetworkServiceType)
{
    NSURLNetworkServiceTypeDefault = 0, // Standard internet traffic
    NSURLNetworkServiceTypeVoIP = 1, // Voice over IP control traffic
    NSURLNetworkServiceTypeVideo = 2, // Video traffic
    NSURLNetworkServiceTypeBackground = 3, // Background traffic
    NSURLNetworkServiceTypeVoice = 4    // Voice data
};
*/
@property (readonly) NSURLRequestNetworkServiceType networkServiceType;
//獲取是否允許使用服務商蜂窩網(wǎng)絡
@property (readonly) BOOL allowsCellularAccess;
NSURLRequest請求類除了在初始化時可以設定一些屬性,創(chuàng)建出來后則大部分屬性都為只讀的,無法設置與修改。另一個類NSMutableURLRequest可以更加靈活的設置請求的相關(guān)屬性。

NSMutableURLRequest類中常用方法與屬性總結(jié)

//設置請求的URL
@property (nullable, copy) NSURL *URL;
//設置請求的緩存策略
@property NSURLRequestCachePolicy cachePolicy;
//設置超時時間
@property NSTimeInterval timeoutInterval;
//設置緩存目錄
@property (nullable, copy) NSURL *mainDocumentURL;
//設置網(wǎng)絡服務類型
@property NSURLRequestNetworkServiceType networkServiceType NS_AVAILABLE(10_7, 4_0);
//設置是否允許使用服務商蜂窩網(wǎng)
@property BOOL allowsCellularAccess NS_AVAILABLE(10_8, 6_0);

NSURLRequest請求對象與HTTP/HTTPS協(xié)議相關(guān)請求的屬性設置:

以下屬性的設置必須使用NSMutableURLRequest類,如果是NSURLRequest,則只可以讀,不可以修改。

//設置HPPT請求方式 默認為“GET”
@property (copy) NSString *HTTPMethod;
//通過字典設置HTTP請求頭的鍵值數(shù)據(jù)
@property (nullable, copy) NSDictionary<NSString *, NSString *> *allHTTPHeaderFields;
//設置http請求頭中的字段值
- (void)setValue:(nullable NSString *)value forHTTPHeaderField:(NSString *)field;
//向http請求頭中添加一個字段
- (void)addValue:(NSString *)value forHTTPHeaderField:(NSString *)field;
//設置http請求體 用于POST請求
@property (nullable, copy) NSData *HTTPBody;
//設置http請求體的輸入流
@property (nullable, retain) NSInputStream *HTTPBodyStream;
//設置發(fā)送請求時是否發(fā)送cookie數(shù)據(jù)
@property BOOL HTTPShouldHandleCookies;
//設置請求時是否按順序收發(fā) 默認禁用 在某些服務器中設為YES可以提高網(wǎng)絡性能
@property BOOL HTTPShouldUsePipelining;

請求回執(zhí)類NSURLResponse屬性簡介
NSURLResponse類中存放請求的回執(zhí)信息,在發(fā)送網(wǎng)絡請求時,如果請求成功,首先會接收到服務端的回執(zhí)信息,直接開始接收具體的返回數(shù)據(jù)。NSURLResponse對象中主要有以下屬性:

//請求的URL地址
@property (nullable, readonly, copy) NSURL *URL;
//返回數(shù)據(jù)的數(shù)據(jù)類型
@property (nullable, readonly, copy) NSString *MIMEType;
//獲取返回數(shù)據(jù)的內(nèi)容長度
@property (readonly) long long expectedContentLength;
//獲取返回數(shù)據(jù)的編碼方式
@property (nullable, readonly, copy) NSString *textEncodingName;
//返回拼接的數(shù)據(jù)文件名 以url為名 數(shù)據(jù)沒醒MIMEType為擴展名
@property (nullable, readonly, copy) NSString *suggestedFilename;
對于HTTP請求,請求回執(zhí)會被封裝為NSHTTPURLResponse對象,其中除了有上面那些屬性外,還有如下的擴展屬性:

//請求的狀態(tài)碼
@property (readonly) NSInteger statusCode;
//請求頭中所有的字段
@property (readonly, copy) NSDictionary *allHeaderFields;

相關(guān)文章

  • iOS開發(fā)實現(xiàn)音頻播放功能

    iOS開發(fā)實現(xiàn)音頻播放功能

    本文給大家分享的是在IOS開發(fā)過程中實現(xiàn)音頻播放的功能,講解的十分細致,有需要的小伙伴可以參考下
    2016-03-03
  • IOS代碼筆記之網(wǎng)絡嗅探功能

    IOS代碼筆記之網(wǎng)絡嗅探功能

    這篇文章主要為大家詳細介紹了IOS網(wǎng)絡嗅探功能實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • CodeIgniter輔助函數(shù)helper詳解

    CodeIgniter輔助函數(shù)helper詳解

    這篇文章主要介紹了CodeIgniter輔助函數(shù)helper,需要的朋友可以參考下
    2014-07-07
  • IOS百度地圖導航開發(fā)功能實現(xiàn)簡述

    IOS百度地圖導航開發(fā)功能實現(xiàn)簡述

    百度地圖導航非常實用,那么基于代碼是如何實現(xiàn)的呢,下面通過本文給大家介紹IOS百度地圖導航開發(fā)功能實現(xiàn)簡述,需要的朋友可以參考下本文
    2016-03-03
  • iOS實現(xiàn)高性能簡單易用的星星評分控件

    iOS實現(xiàn)高性能簡單易用的星星評分控件

    在做APP時會用到星星評分的一個視圖,在網(wǎng)上也找到一些相關(guān)的代碼,下面這篇文章主要給大家介紹了關(guān)于iOS實現(xiàn)高性能簡單易用的星星評分控件的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2018-03-03
  • 舉例講解iOS開發(fā)中拖動視圖的實現(xiàn)

    舉例講解iOS開發(fā)中拖動視圖的實現(xiàn)

    這篇文章主要介紹了舉例講解iOS開發(fā)中的拖動視圖實現(xiàn),代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下
    2015-10-10
  • iOS自定義日期demo分享

    iOS自定義日期demo分享

    這篇文章主要為大家詳細介紹了iOS自定義日期演示效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • iOS布局渲染之UIView方法的調(diào)用時機詳解

    iOS布局渲染之UIView方法的調(diào)用時機詳解

    在你剛開始開發(fā) iOS 應用時,最難避免或者是調(diào)試的就是和布局相關(guān)的問題,下面這篇文章主要給大家介紹了關(guān)于iOS布局渲染之UIView方法調(diào)用時機的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2018-07-07
  • Flutter?Module添加到iOS項目示例詳解

    Flutter?Module添加到iOS項目示例詳解

    這篇文章主要為大家介紹了Flutter?Module添加到iOS項目示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • iOS中關(guān)于音樂鎖屏控制音樂(鎖屏信息設置)的實例代碼

    iOS中關(guān)于音樂鎖屏控制音樂(鎖屏信息設置)的實例代碼

    這篇文章主要介紹了 iOS中關(guān)于音樂鎖屏控制音樂(鎖屏信息設置)的實例代碼,需要的朋友可以參考下
    2017-01-01

最新評論