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

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

AFN 網絡操作與AFNetworking

2019-11-09 17:54:51
字體:
來源:轉載
供稿:網友
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
国产精品久久久久久久久久久不卡| 亚洲视频一区二区| 久久夜精品va视频免费观看| 国产综合在线观看视频| 国产一区二区动漫| 亚洲女人初尝黑人巨大| 国产伦精品一区二区三区精品视频| 美女视频黄免费的亚洲男人天堂| 亚洲激情免费观看| 国自产精品手机在线观看视频| 亚洲欧美中文日韩v在线观看| 日日摸夜夜添一区| 亚洲最大福利视频网站| 亚洲欧美综合精品久久成人| 这里只有精品视频在线| 97视频在线观看成人| 久久精品国产亚洲精品| 欧美日韩一区二区三区| 久久久999国产精品| 国产精品海角社区在线观看| 久久天天躁狠狠躁夜夜av| 精品福利视频导航| 久久久精品一区二区| 午夜精品一区二区三区视频免费看| 91在线观看免费高清| 成人h视频在线| 国产男女猛烈无遮挡91| 国产成人精品999| 日韩av黄色在线观看| 久久精品在线视频| 欧美xxxwww| 日韩欧美黄色动漫| 成人精品在线视频| 精品国内产的精品视频在线观看| 亚洲激情免费观看| 日韩美女av在线| 亚洲免费av电影| 欧美影院在线播放| 久久久噜噜噜久久中文字免| 91久久精品日日躁夜夜躁国产| 亚洲欧美国产一区二区三区| 欧美孕妇与黑人孕交| 奇米成人av国产一区二区三区| 日产精品久久久一区二区福利| 午夜精品一区二区三区在线视| 菠萝蜜影院一区二区免费| 在线播放精品一区二区三区| 亚洲永久在线观看| 欧美性jizz18性欧美| 成人h片在线播放免费网站| 亚洲精品日韩av| 精品国内自产拍在线观看| 国产精品高潮粉嫩av| 国产精品一区二区三| 日本成熟性欧美| 久久久www成人免费精品张筱雨| www.xxxx欧美| 精品视频在线播放色网色视频| 亚洲91av视频| 国产精品久久久久久久久久久新郎| 欧美日韩在线影院| 久久久久久噜噜噜久久久精品| 欧美激情精品久久久久久免费印度| 成人春色激情网| 欧美日韩亚洲国产一区| 国产欧美日韩丝袜精品一区| 欧美日韩国产精品| 欧美日韩ab片| 性金发美女69hd大尺寸| 亚洲第一页中文字幕| 成人性生交xxxxx网站| 久久久伊人欧美| 中日韩美女免费视频网址在线观看| 欧日韩在线观看| 91精品久久久久久久| 日韩国产中文字幕| 日韩免费在线播放| 欧美做爰性生交视频| 97视频免费在线观看| 亚洲精品国产美女| 久久综合88中文色鬼| 久久视频国产精品免费视频在线| 日韩欧美aaa| 97精品久久久中文字幕免费| 久久精品一偷一偷国产| 国产精品久久久久久超碰| 成人免费看吃奶视频网站| 性欧美长视频免费观看不卡| 久久视频这里只有精品| 性色av一区二区三区红粉影视| 欧美精品福利视频| 久久精品视频播放| 成人精品久久av网站| 亚洲专区中文字幕| 最近2019年手机中文字幕| 成人免费高清完整版在线观看| 97久久超碰福利国产精品…| 日韩av在线资源| 日韩一区二区av| 日韩精品一区二区三区第95| 国产精品爽爽爽爽爽爽在线观看| 久久久在线视频| 国产精品色悠悠| 日韩av不卡在线| 久久精品视频免费播放| 成人国产精品色哟哟| 中文字幕自拍vr一区二区三区| 亚洲精品影视在线观看| 亚洲精品www久久久| 亚洲国产欧美一区| 91精品久久久久久久久久另类| 亚洲国产精品99| 国产精品久久99久久| 亚洲国产天堂久久综合| 国模叶桐国产精品一区| 国模叶桐国产精品一区| 日韩欧美中文字幕在线观看| 精品中文字幕在线| 久久伊人色综合| 国产亚洲欧美日韩一区二区| 国产成人精品国内自产拍免费看| 日韩欧美第一页| 日本精品在线视频| 久久影视电视剧免费网站清宫辞电视| 亚洲理论电影网| 国产欧美日韩综合精品| 亚洲欧美日本另类| 欧美巨乳在线观看| 91久久久久久久久| 日韩av在线资源| 亚洲天堂2020| 欧美丰满片xxx777| 国产美女久久精品香蕉69| 日韩欧美a级成人黄色| 成人www视频在线观看| 久久综合国产精品台湾中文娱乐网| 亚洲第一精品自拍| 亚洲第一av在线| 国产一区二区三区高清在线观看| 欧美性猛交丰臀xxxxx网站| 国产精品中文字幕久久久| 久久久久国产精品免费| 国产精品老女人视频| 欧美性极品xxxx做受| 亚洲精品自拍第一页| 91精品国产91久久久久| 国产午夜精品全部视频在线播放| 国产亚洲免费的视频看| 久久99国产精品久久久久久久久| 欧美高清自拍一区| 欧美老少配视频| 一区二区三区日韩在线| 久久亚洲影音av资源网| 国产网站欧美日韩免费精品在线观看| 久久国产精品久久久久久久久久| 日本sm极度另类视频| 亚洲理论电影网| 亚洲精品综合精品自拍| 国产91精品视频在线观看| 国产在线视频2019最新视频| 久久久999精品免费| 日本精品久久电影| 亚洲午夜av电影| 在线成人免费网站|