你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS的HTTP要求和要求回執類用法小結

iOS的HTTP要求和要求回執類用法小結

編輯:IOS開發綜合

要求類NSURLRequest
NSURLRequest類中經常使用辦法和屬性總結:

//經由過程類辦法創立默許的要求對象
/*
經由過程這類方法創立的要求對象 默許應用NSURLRequestUseProtocolCachePolicy緩存邏輯 默許要求超不時限為60s
*/
+ (instancetype)requestWithURL:(NSURL *)URL;
//前往一個BOOL值 用於斷定能否支撐平安編碼
+ (BOOL)supportsSecureCoding;
//要求對象的初始化辦法 創立時設置緩存邏輯和超不時限
+ (instancetype)requestWithURL:(NSURL *)URL cachePolicy:(NSURLRequestCachePolicy)cachePolicy timeoutInterval:(NSTimeInterval)timeoutInterval;
//init辦法停止對象的創立 默許應用NSURLRequestUseProtocolCachePolicy緩存邏輯 默許要求超不時限為60s
- (instancetype)initWithURL:(NSURL *)URL;
//init辦法停止對象的創立
- (instancetype)initWithURL:(NSURL *)URL cachePolicy:(NSURLRequestCachePolicy)cachePolicy timeoutInterval:(NSTimeInterval)timeoutInterval;
//只讀屬性 獲得要求對象的URL
@property (nullable, readonly, copy) NSURL *URL;
//只讀屬性 緩存戰略列舉
/*
NSURLRequestCachePolicy列舉以下:
typedef NS_ENUM(NSUInteger, NSURLRequestCachePolicy)
{
    //默許的緩存協定
    NSURLRequestUseProtocolCachePolicy = 0,
    //不管有沒有當地緩存數據 都停止重新要求
    NSURLRequestReloadIgnoringLocalCacheData = 1,
    //疏忽當地和長途的緩存數據 未完成的戰略
    NSURLRequestReloadIgnoringLocalAndRemoteCacheData = 4,
    //不管有沒有緩存數據 都停止重新要求
    NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData,
    //先檢討緩存 假如沒有緩存再停止要求
    NSURLRequestReturnCacheDataElseLoad = 2,
    //相似離線形式,只讀緩存 不管有沒有緩存都不停止要求
    NSURLRequestReturnCacheDataDontLoad = 3,
    //未完成的戰略
    NSURLRequestReloadRevalidatingCacheData = 5, // Unimplemented
};
*/
@property (readonly) NSURLRequestCachePolicy cachePolicy;
//只讀屬性 獲得要求的超不時限
@property (readonly) NSTimeInterval timeoutInterval;
//主文檔地址 這個地址用來寄存緩存
@property (nullable, readonly, copy) NSURL *mainDocumentURL;
//獲得收集要求的辦事類型 列舉以下
/*
typedef NS_ENUM(NSUInteger, NSURLReques.networkServiceType)
{
    NSUR.networkServiceTypeDefault = 0, // Standard inte.net traffic
    NSURLNetworkServiceTypeVoIP = 1, // Voice over IP control traffic
    NSURLNetworkServiceTypeVideo = 2, // Video traffic
    NSURLNetworkServiceTypeBackground = 3, // Background traffic
    NSURLNetworkServiceTypeVoice = 4    // Voice data
};
*/
@property (readonly) NSURLRequestNetworkServiceType networkServiceType;
//獲得能否許可應用辦事商蜂窩收集
@property (readonly) BOOL allowsCellularAccess;
NSURLRequest要求類除在初始化時可以設定一些屬性,創立出來後則年夜部門屬性都為只讀的,沒法設置與修正。另外一個類NSMutableURLRequest可以加倍靈巧的設置要求的相干屬性。

NSMutableURLRequest類中經常使用辦法與屬性總結

//設置要求的URL
@property (nullable, copy) NSURL *URL;
//設置要求的緩存戰略
@property NSURLRequestCachePolicy cachePolicy;
//設置超不時間
@property NSTimeInterval timeoutInterval;
//設置緩存目次
@property (nullable, copy) NSURL *mainDocumentURL;
//設置收集辦事類型
@property NSURLRequestNetworkServiceType networkServiceType NS_AVAILABLE(10_7, 4_0);
//設置能否許可應用辦事商蜂窩網
@property BOOL allowsCellularAccess NS_AVAILABLE(10_8, 6_0);

NSURLRequest要求對象與HTTP/HTTPS協定相干要求的屬性設置:

以部屬性的設置必需應用NSMutableURLRequest類,假如是NSURLRequest,則只可以讀,弗成以修正。

//設置HPPT要求方法 默許為“GET”
@property (copy) NSString *HTTPMethod;
//經由過程字典設置HTTP要求頭的鍵值數據
@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;
//設置發送要求時能否發送cookie數據
@property BOOL HTTPShouldHandleCookies;
//設置要求時能否按次序收發 默許禁用 在某些辦事器中設為YES可以進步收集機能
@property BOOL HTTPShouldUsePipelining;

要求回執類NSURLResponse屬性簡介
NSURLResponse類中寄存要求的回執信息,在發送收集要求時,假如要求勝利,起首會吸收到辦事真個回執信息,直接開端吸收詳細的前往數據。NSURLResponse對象中重要有以部屬性:

//要求的URL地址
@property (nullable, readonly, copy) NSURL *URL;
//前往數據的數據類型
@property (nullable, readonly, copy) NSString *MIMEType;
//獲得前往數據的內容長度
@property (readonly) long long expectedContentLength;
//獲得前往數據的編碼方法
@property (nullable, readonly, copy) NSString *textEncodingName;
//前往拼接的數據文件名 以url為名 數據沒醒MIMEType為擴大名
@property (nullable, readonly, copy) NSString *suggestedFilename;
關於HTTP要求,要求回執會被封裝為NSHTTPURLResponse對象,個中除有下面那些屬性外,還有以下的擴大屬性:

//要求的狀況碼
@property (readonly) NSInteger statusCode;
//要求頭中一切的字段
@property (readonly, copy) NSDictionary *allHeaderFields;

【iOS的HTTP要求和要求回執類用法小結】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved