- (nsurlsessiondatatask *)datataskwithrequest:(nsurlrequest *)request completionhandler:(void (^)(nsurlresponse *response, id responseobject, nserror *error))completionhandler
* request:請求物件
* completionhandler:請求完成呼叫的block
* response:伺服器的響應資訊
* responseobject:伺服器返回的資料
* error:錯誤資訊
上傳任務(分別上傳不同型別的檔案)
// 1.上傳檔案型別的資料
* fileurl:所要上傳檔案的路徑
- (nsurlsessionuploadtask *)uploadtaskwithrequest:(nsurlrequest *)request fromfile:(nsurl *)fileurl progress:(nsprogress * __autoreleasing *)progress completionhandler:(void (^)(nsurlresponse *response, id responseobject, nserror *error))completionhandler
// 2. 上傳nsdata型別的資料
- (nsurlsessionuploadtask *)uploadtaskwithrequest:(nsurlrequest *)request fromdata:(nsdata *)bodydata progress:(nsprogress * __autoreleasing *)progress completionhandler:(void (^)(nsurlresponse *response, id responseobject, nserror *error))completionhandler
* bodydata:所要上傳的檔案資料
// 3. 上傳流資料
- (nsurlsessionuploadtask *)uploadtaskwithstreamedrequest:(nsurlrequest *)request progress:(nsprogress * __autoreleasing *)progress completionhandler:(void (^)(nsurlresponse *response, id responseobject, nserror *error))completionhandler
* request:通過流資料初始化的請求物件
- (nsurlsessiondownloadtask *)downloadtaskwithrequest:(nsurlrequest *)request progress:(nsprogress * __autoreleasing *)progress destination:(nsurl * (^)(nsurl *targetpath, nsurlresponse *response))destination completionhandler:(void (^)(nsurlresponse *response, nsurl *filepath, nserror *error))completionhandler
* destination:儲存資料呼叫的block
* targetpath:資料的儲存路徑
常用的屬性
baseurl(nsurl *),用於監視網路可達性與建立請求物件
requestserializer(afhttprequestserializer *),指定指定get、head與delete請求引數的解析格式
responseserializer(afhttpresponseserializer *),用於指定伺服器返回資料的格式
常用方法
初始化// 1. 通過工廠方法建立afhttpsessionmanager物件
+ (instancetype)manager
// 2. 通過構造方法建立afhttpsessionmanager物件
- (instancetype)initwithbaseurl:(nsurl *)url
* 根據url初始化afhttpsessionmanager物件
- (instancetype)initwithbaseurl:(nsurl *)url sessionconfiguration:(nsurlsessionconfiguration *)configuration
* 根據url與configuration初始化afhttpsessionmanager物件
請求資料
// 1. get請求
- (nsurlsessiondatatask *)get:(nsstring *)urlstring parameters:(id)parameters success:(void (^)(nsurlsessiondatatask *task, id responseobject))success failure:(void (^)(nsurlsessiondatatask *task, nserror *error))failure
* urlstring:請求路徑
* parameters:請求引數
* success:請求成功時呼叫的block
* responseobject:伺服器返回的資料
* failure:請求失敗時呼叫的block
* error:錯誤資訊
// 2. post請求
- (nsurlsessiondatatask *)post:(nsstring *)urlstring parameters:(id)parameters success:(void (^)(nsurlsessiondatatask *task, id responseobject))success failure:(void (^)(nsurlsessiondatatask *task, nserror *error))failure
*引數含義與get請求相同
- (nsurlsessiondatatask *)post:(nsstring *)urlstring parameters:(id)parameters constructingbodywithblock:(void (^)(id formdata))block success:(void (^)(nsurlsessiondatatask *task, id responseobject))success failure:(void (^)(nsurlsessiondatatask *task, nserror *error))failure
使用afn請求網路資料
請求資料(xml/json)
建立afhttpsessionmanager物件
指定對伺服器的返回資料格式
//以xml文件的形式返回資料
manager.responseserializer = [afxmlparserresponseserializer serializer];
//以json形式返回資料
manager.responseserializer = [afjsonresponseserializer serializer];
設定請求體(型別為xml或json)
//請求體通常由伺服器指定格式
nsdictionary *params = @ failure:^(nsurlsessiondatatask *task, nserror *error) success:^(nsurlsessiondatatask *task, id responseobject) failure:^(nsurlsessiondatatask *task, nserror *error) completionhandler:^(nsurlresponse *response, nsurl *filepath, nserror *error) {
afn原理 ios iOS開發 AFN的基本使用
因為專案中需要用到一些第三方框架來搞定基本需求,再次總結一番.我的專案是瀏覽器工具,所以對網路請求處理需要做很多特別處理,這也就構成了對afn及asi庫的深究 1.afn全稱為 afnetworking 是乙個構建在nsurlconnection,nsoperation以及其他熟悉的founatio...
AFN原理及常用方法
nsurlsession,主要物件nsurlsession物件進行了進一步的封裝,包含以下核心的類 reachability,提供了與網路狀態相關的操作介面,包含以下核心的類 security,提供了與安全性相關的操作介面,包含以下核心的類 serialization,提供了與解析資料相關的操作介面...
gcForest演算法原理及Python實現
1.背景介紹 從目前來看深度學習大多建立在多層的神經網路基礎上,也即一些引數化的多層可微的非線性模組,這樣就可以通過後向傳播去訓練,zhi hua zhou和ji feng在deep forest 中基於不可微的模組建立深度模組,這就是gcforest。傳統的深度學習有一定的弊端 超引數個數較多,訓...