亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

AFN 網絡操作與AFNetworking

2019-11-09 18:51:05
字體:
來源:轉載
供稿:網友
1、AFN特性 :*登錄傳參數時,傳遞字典即可.(鍵名為參數名,鍵值為參數值).*自動到子線程中執行,執行完后返回主線程.*返回的結果自動序列化為NSDictionary.2、使用AFN注意 :*AFHTTPRequestOperationManager封裝了通過HTTP協議與Web應用程序進行通訊的常用方法.(這個實例化的時候不是單例, 因為沒有shared字)*包括創建請求/響應序列化/網絡監控/數據安全.*方法等都是以AF開頭的.

3、AFN能做的 (網絡中的都涵蓋了):*GET/POST/PUT/DELETE/HEAD請求.*JSON數據解析/Plist數據解析.(不支持xml數據解析)*POSTJSON.*上傳/下載.

4、使用步驟 : (可參考說明文檔)1.首先需要實例化一個請求管理器AFHTTPRequestOperationManager.2.設置請求的數據格式:默認是二進制.(不是可改)*AFHTTPRequestSerializer(二進制)*AFJSONRequestSerializer(JSON)*AFPropertyListRequestSerializer(Plist)3.設置響應的數據格式:默認是JSON.(不是可改)*AFHTTPResponseSerializer(二進制)*AFJSONResponseSerializer(JSON)*AFPropertyListResponseSerializer(Plist)*AFXMLParserResponseSerializer(XML)*AFImageResponseSerializer(Image)*AFCompoundResponseSerializer(組合的)4.如果響應者的MIMEType不正確,就要修改acceptableContentTypes.5.調用方法,發送響應的請求(GET/POST...).

關于修改AFN源碼:通常序列化時做對text/plan等的支持時,可以一勞永逸的修改源代碼,在acceptableContentTypes中修改即可。

AFN進行GET、POST登錄:

[objc] view plaincopy#pragma mark - get/post登錄  - (void)getLogin {      //1.管理器      AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];        //2.設置登錄參數      NSDictionary *dict = @{ @"username":@"xn", @"passWord":@"123" };        //3.請求      [manager GET:@"http://localhost/login.php" parameters:dict success: ^(AFHTTPRequestOperation *operation, id responSEObject) {          NSLog(@"GET --> %@, %@", responseObject, [NSThread currentThread]); //自動返回主線程      } failure: ^(AFHTTPRequestOperation *operation, NSError *error) {          NSLog(@"%@", error);      }];  }    /**  *  和上面的GET用法完全一樣, 只有一個POST參數不一樣  */  - (void)postLogin {      //1.管理器      AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];        //2.設置登錄參數      NSDictionary *dict = @{ @"username":@"xn", @"password":@"123" };        //3.請求      [manager POST:@"http://localhost/login.php" parameters:dict success: ^(AFHTTPRequestOperation *operation, id responseObject) {          NSLog(@"POST --> %@, %@", responseObject, [NSThread currentThread]); //自動返回主線程      } failure: ^(AFHTTPRequestOperation *operation, NSError *error) {          NSLog(@"%@", error);      }];  }  AFN進行網絡數據解析,獲取Plist,JSON,XML(AFN不支持自動解析XML,有專門的框架去做,如SAX,PULL,KissXML等)

[objc] view plaincopy#pragma mark - get 數據解析  - (void)getJSON {      //1.請求管理器      AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];        //2.發起請求      [manager GET:@"http://localhost/videos.json" parameters:nil success: ^(AFHTTPRequestOperation *operation, id responseObject) {          NSLog(@"%@", responseObject);      } failure: ^(AFHTTPRequestOperation *operation, NSError *error) {          NSLog(@"%@", error);      }];  }    /**  *  不支持XML數據解析  */  - (void)getXML {      //1.管理器      AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];        //2.設置返回數據類型      manager.responseSerializer = [AFXMLParserResponseSerializer serializer]; //先實例化一下        //3.發起請求      [manager GET:@"http://localhost/videos.xml" parameters:nil success: ^(AFHTTPRequestOperation *operation, id responseObject) {          NSLog(@"%@", responseObject);      } failure: ^(AFHTTPRequestOperation *operation, NSError *error) {          NSLog(@"%@", error);      }];  }    - (void)getPlist {      //1.管理器      AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];        //2.設置response類型      manager.responseSerializer = [AFPropertyListResponseSerializer serializer]; //是Response, 別寫成request了. 修改為plist類型.      manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/plain"]; //這個可以直接往框架里面修改.        //3.請求      [manager GET:@"http://localhost/videos.plist" parameters:nil success: ^(AFHTTPRequestOperation *operation, id responseObject) {          NSLog(@"%@", responseObject);      } failure: ^(AFHTTPRequestOperation *operation, NSError *error) {          NSLog(@"%@", error);      }];  }  用AFN來POST JSON數據,上傳、下載等。(上傳、下載主頁說明上有https://github.com/AFNetworking/AFNetworking)

[objc] view plaincopy#pragma mark - post json數據與上傳文件等  - (void)postJSON {      //1.管理器      AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];        //2.設定類型. (這里要設置request-response的類型)      manager.requestSerializer = [AFJSONRequestSerializer serializer];      manager.responseSerializer = [AFHTTPResponseSerializer serializer]; //這個決定了下面responseObject返回的類型  //    manager.responseSerializer = [AFJSONResponseSerializer serializer];  //  manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/plain"];            //2.設置登錄參數      NSDictionary *dict = @{ @"username":@"xn", @"password":@"123" };        //3.發送請求      [manager POST:@"http://localhost/postjson.php" parameters:dict success: ^(AFHTTPRequestOperation *operation, id responseObject) {  //      NSLog(@"postjson--> %@", responseObject);  //這樣顯示JSON的話需要設置text/plain          NSString *result = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];          NSLog(@"%@",result);      } failure: ^(AFHTTPRequestOperation *operation, NSError *error) {          NSLog(@"%@", error);      }];  } 轉載自:http://blog.csdn.net/xn4545945  
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩欧美国产激情| 午夜精品一区二区三区在线| 中文字幕日韩精品在线| 激情成人中文字幕| 亚洲大胆美女视频| 伊人精品在线观看| 亚洲一区二区福利| 成人av资源在线播放| 日本一欧美一欧美一亚洲视频| 国产欧美在线播放| 性欧美xxxx交| 亚洲开心激情网| 91av视频在线播放| 国产精品久久久久久五月尺| 亚洲人成在线免费观看| 成人妇女淫片aaaa视频| 丁香五六月婷婷久久激情| 久久久精品电影| 亚洲成年人影院在线| 久久久久久久影视| 亚洲日本欧美日韩高观看| 日韩欧美视频一区二区三区| 国产欧美精品一区二区三区-老狼| 国产一区二区三区在线免费观看| 欧美色视频日本高清在线观看| 在线视频国产日韩| 亚洲精品成人久久电影| 日韩女优在线播放| 亚洲理论在线a中文字幕| 亚洲无限乱码一二三四麻| 国产精品久久久久久久久久新婚| 成人国产在线视频| 欧美精品国产精品日韩精品| 久久精品视频免费播放| 欧美做爰性生交视频| 亚洲精品乱码久久久久久按摩观| 国产91在线播放精品91| 成人性生交大片免费看视频直播| 在线电影中文日韩| 亚洲国模精品一区| 永久免费毛片在线播放不卡| 欧美疯狂做受xxxx高潮| 国产亚洲日本欧美韩国| 国产亚洲成精品久久| 亚洲精品国产拍免费91在线| 国产一区二区三区中文| 亚洲综合成人婷婷小说| 91久久国产精品91久久性色| 亚洲美女动态图120秒| 久久精品国产亚洲精品2020| 最近日韩中文字幕中文| 日韩欧中文字幕| 97**国产露脸精品国产| 欧美性猛交xxxx乱大交| 国语自产精品视频在线看| 国产精品91视频| 国产成人jvid在线播放| 亚洲第一区第二区| 久久久久久久久久久久av| 欧美老女人性视频| 97国产精品人人爽人人做| 国产精品自产拍在线观看| 国产精品欧美激情| 91在线免费看网站| 中文字幕一精品亚洲无线一区| 精品在线观看国产| 91精品久久久久久久久久久久久久| 久久男人资源视频| 国产综合在线观看视频| 中文字幕不卡在线视频极品| 国产精品久久久久影院日本| 欧美视频中文字幕在线| 久久久人成影片一区二区三区| 精品亚洲一区二区三区在线播放| 国产成人av网| 91视频88av| 国产精品久久久久久av| 欧美精品一区二区免费| 91久久精品国产91久久性色| 日韩av一区在线观看| 欧美激情在线有限公司| 亚洲精品视频网上网址在线观看| 91大神福利视频在线| 成人字幕网zmw| 日韩中文字幕亚洲| 欧美精品在线免费| 亚洲一区二区久久久久久久| 91丝袜美腿美女视频网站| 久久视频这里只有精品| 国产成人一区二区三区| 国产精品劲爆视频| 亚洲字幕一区二区| 成人网中文字幕| 欧美一区二区三区精品电影| 午夜精品一区二区三区在线视| 久久久久久亚洲精品中文字幕| 日本亚洲欧美三级| 亚洲第一黄色网| 国产成人涩涩涩视频在线观看| 国产精品久久99久久| 欧美另类69精品久久久久9999| 成人黄色在线观看| 久国内精品在线| 综合av色偷偷网| 欧美日韩国产中字| 欧美视频二区36p| 久久香蕉频线观| 国产精品高潮呻吟视频| 久久精品国产成人精品| 91高潮精品免费porn| 亚洲护士老师的毛茸茸最新章节| 日韩欧美在线观看| 欧美日韩国产专区| 国产精品福利在线观看网址| 国产精品久久久久7777婷婷| 国产精品一区二区三区久久| 亚洲国产精品成人一区二区| 精品国产91久久久久久老师| 国产精品免费在线免费| 在线观看国产成人av片| 欧美成年人视频网站| 欧美性极品xxxx做受| 国产亚洲精品久久久久久牛牛| 欧美精品久久久久a| 国产精品久久久久福利| 日韩大陆欧美高清视频区| 亚洲国产精品专区久久| 国产97在线观看| 国产精品69久久| 亚洲国产欧美一区二区三区久久| 精品人伦一区二区三区蜜桃网站| 亚洲高清久久久久久| 国产精品久久久久久久久久三级| 午夜美女久久久久爽久久| 91美女高潮出水| 成人免费视频网| 精品久久中文字幕久久av| 亚洲性生活视频在线观看| 国产成人精品免费视频| 亚洲精品久久7777777| 亚洲色图欧美制服丝袜另类第一页| 成人综合国产精品| 精品视频中文字幕| 456亚洲影院| 青青a在线精品免费观看| 久久久久久久网站| 日韩精品视频观看| 日韩欧美aⅴ综合网站发布| 欧美极品美女电影一区| 中文字幕视频在线免费欧美日韩综合在线看| 日韩精品福利在线| 国产激情久久久久| 日韩极品精品视频免费观看| 日本高清视频精品| 国产精品第2页| 欧美丝袜第一区| 国产精品草莓在线免费观看| 国产日韩换脸av一区在线观看| 91亚洲精品久久久| 麻豆国产va免费精品高清在线| 亚洲xxx自由成熟| 国产伦精品一区二区三区精品视频| 岛国精品视频在线播放| 色偷偷91综合久久噜噜|